Sobes.tech
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.