Heim > Java > javaLernprogramm > Hauptteil

Wie kann man SQL-Injection in Java verhindern?

藏色散人
Freigeben: 2020-10-12 17:33:11
Original
12357 Leute haben es durchsucht

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();
Nach dem Login kopieren

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);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage