Junior — Middle
JDBC-də parametrlər vasitəsilə SQL kodu inyeksiyası ilə əlaqəli zəiflikləri necə qarşısını almaq olar?
sobes.tech Süni İntellekt
AI-dan cavab
JDBC vasitəsilə parametrlərdən istifadə etməklə SQL Injection zəifliklərinin qarşısını almaq üçün aşağıdakı metodlar istifadə olunur:
-
PreparedStatement — parametrli sorğuların istifadəsi, burada parametrlər ayrıca ötürülür və birbaşa SQL sətirinə daxil edilmir. Bu, parametrlərin kod kimi şərh edilməsinin qarşısını alır.
-
Giriş məlumatlarının doğrulanması və qaçışması — sorğularda istifadə edilmədən əvvəl məlumatların yoxlanması və təmizlənməsi.
-
ORM istifadəsi — məsələn, Hibernate, avtomatik olaraq təhlükəsiz sorğular yaradır.
PreparedStatement istifadə nümunəsi:
String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rs = pstmt.executeQuery();
Bu yanaşma parametrlər vasitəsilə zərərli SQL kodlarının daxil edilməsinin qarşısını alır.