G
Guest
Gast
Hi, wie kann ich meine Eingaben die ich vom User bekomme richtig Filtern?
Also ich könnte natürlich mir ne Methode schreiben die da z.B. ";" rausfilter oder so.
Aber brauche ich das bei einem PreparedStatement überhaupt? (wird irgendwie im Wikipedaartikel angedeutet)
wenn ich also hier als String var = "eingabe"; oder einmal var = "eingabe' ;GO EXEC cmdshell('format C') --"
habe würde ja eigentlich sowas rauskommen:
Würde dies ein PreparedStatement also verhindern?
Beispiele frei zitiert nach wikipedia
http://de.wikipedia.org/wiki/SQL-Injektion
Also ich könnte natürlich mir ne Methode schreiben die da z.B. ";" rausfilter oder so.
Aber brauche ich das bei einem PreparedStatement überhaupt? (wird irgendwie im Wikipedaartikel angedeutet)
Code:
PreparedStatement pstmt = con.prepareStatement("SELECT url FROM myindex WHERE keyword LIKE '%?%");
pstmt.setString(1, var);
ResultSet rset = pstmt.executeQuery();
wenn ich also hier als String var = "eingabe"; oder einmal var = "eingabe' ;GO EXEC cmdshell('format C') --"
habe würde ja eigentlich sowas rauskommen:
Code:
SELECT url, title FROM myindex WHERE keyword LIKE '%eingabe%'
Code:
SELECT url, title FROM myindex WHERE keyword LIKE '%eingabe' ;GO EXEC cmdshell('format C') --%'
Würde dies ein PreparedStatement also verhindern?
Beispiele frei zitiert nach wikipedia
http://de.wikipedia.org/wiki/SQL-Injektion