Junior — Middle
Ako chrániť databázu pred SQL injekciami?
sobes.tech AI
Odpoveď od AI
Ochrana databázy pred SQL injekciami je dôležitým aspektom bezpečnosti. Hlavné spôsoby ochrany v Jave:
- Použitie pripravených výrazov (PreparedStatement) — parametre dotazu sa odovzdávajú samostatne, čím sa vylučuje možnosť vloženia škodlivého SQL kódu.
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();
-
Validácia a filtrovanie vstupných dát — kontrola formátu a obsahu dát pred ich použitím v dotazoch.
-
Použitie ORM frameworkov (napríklad Hibernate) — tieto automaticky generujú bezpečné dotazy.
-
Minimalizácia práv prístupu — účty databázy by mali mať len nevyhnutné práva.
-
Pravidelné aktualizácie a záplaty — udržiavanie aktuálnosti softvéru databázy a ovládačov.
Tieto metódy spoločne významne znižujú riziko úspešnej SQL injekcie.