Junior — Middle
JDBC аркылуу SQL кодун киргизүү менен байланышкан коопсуздук кемчиликтерин кантип алдын алса болот?
sobes.tech AI
AIден жооп
JDBC аркылуу параметрлер аркылуу SQL Injection коркунучтарынан коргонуу үчүн төмөнкү ыкмалар колдонулат:
-
PreparedStatement — параметрлүү суроолорду колдонуу, анда параметрлер бөлөк берилет жана түз эле SQL саптарына киргизилбейт. Бул параметрлерди код катары түшүнүүнүн алдын алат.
-
Кирүү маалыматтарын текшерүү жана escape кылуу — суроолордо колдонулгандан мурун маалыматтарды текшерүү жана тазалоо.
-
ORM колдонуу — мисалы, Hibernate, автоматтык түрдө коопсуз суроолорду түзөт.
PreparedStatement колдонуу мисалы:
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();
Бул ыкма параметрлер аркылуу зыяндуу SQL кодунун киргизилишинин алдын алат.