Heim >Java >javaLernprogramm >Wie kann man SQL-Injection in Java verhindern?

Wie kann man SQL-Injection in Java verhindern?

藏色散人
藏色散人Original
2019-04-30 09:37:3612378Durchsuche

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.

Wie kann man SQL-Injection in Java verhindern?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn