Sobes.tech
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 кодунун киргизилишинин алдын алат.