Güvenlik Denetimi İçin Assert (ARCH4133)
Anahtar java.security.assert-for-auth-control · Önem warning · Kategori security · CWE CWE-617
Yetki denetimini assert ile yapmak güvensizdir; JVM -da (assertions disabled) ile çalıştığında ifade hiç yürütülmez ve denetim sessizce atlanır. Güvenlik kararlarını her zaman normal kontrol akışıyla zorlayın.
Hatalı
Bölüm başlığı “Hatalı”public void deleteAccount(User user, Account account) { assert user.isAdmin() : "yetkisiz"; // üretimde -da ile atlanır repository.delete(account);}public void deleteAccount(User user, Account account) { if (!user.isAdmin()) { throw new AccessDeniedException("yetkisiz"); } repository.delete(account);}Düzeltme
Bölüm başlığı “Düzeltme”Yetki denetimini assert yerine açık if koşulu ve istisnayla zorlayın.