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

  1. 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();
  1. Validácia a filtrovanie vstupných dát — kontrola formátu a obsahu dát pred ich použitím v dotazoch.

  2. Použitie ORM frameworkov (napríklad Hibernate) — tieto automaticky generujú bezpečné dotazy.

  3. Minimalizácia práv prístupu — účty databázy by mali mať len nevyhnutné práva.

  4. 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.