SQL-Injection ist eine der häufigsten Netzwerkangriffsmethoden. Sie nutzt nicht den Fehler des Betriebssystems, um den Angriff durchzuführen, sondern zielt auf die Nachlässigkeit des Programmierers ab. Durch SQL-Anweisungen kann er sich ohne Konto anmelden sogar die Datenbank manipulieren.
Java-Hintergrundmethode zur Verhinderung von SQL-Injection:
1. Verwenden Sie einen vorkompilierten Anweisungssatz, der über eine integrierte Funktion verfügt Behandeln Sie die SQL-Injection. Verwenden Sie einfach die setString-Methode, um den Wert zu übergeben:
String sql= "select * from users where username=? and password=?; PreparedStatement preState = conn.prepareStatement(sql); preState.setString(1, userName); preState.setString(2, password); ResultSet rs = preState.executeQuery();
2. Verwenden Sie reguläre Ausdrücke, um Anweisungen mit einfachen Anführungszeichen ('), Semikolons (;) und Kommentarsymbolen (--) zu ersetzen SQL-Injection
public static String SQL(String str) { return str.replaceAll(".*([';]+|(--)+).*", " "); } userName=SQL(userName); password=SQL(password); String sql="select * from users where username='"+userName+"' and password='"+password+"' " Statement sta = conn.createStatement(); ResultSet rs = sta.executeQuery(sql);
Verwandte Empfehlungen: „Java-Tutorial“
Das obige ist der detaillierte Inhalt vonWie kann man SQL-Injection in Java verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!