verwendet werden, um zu verhindern, bevor ich fragen - ich paranterised Anfragen wissen aber diese Frage ist speziell baout reguläre Ausdrücke SQL-Injection-Kann ein Regular Expression SQL Injection
Sagen wir, ich habe eine Abfragezeichenfolgeflag mit einem Paramater von q
zu verhindern und ich habe einen regulären Ausdruck von ^201[0-9]Q[0-9]$
, die ich gegen den Parameter ausführen, der an SQL übergeben wird.
Würde dies als Schutz ausreichen oder kann die Regex trotzdem ausgenutzt werden? Einige Pseudo-Code:
if NOT validateToken(quarter) then
sql = "EXEC dbo.spTest '"&quarter&"'"
end if
Dank
Hängt davon ab, wie/wo Sie es überprüfen und wie Sie danach die Datenbank aufrufen. –
Ich validiere immer Daten, bevor ich sie zum Einfügen verwende. Wenn dann alle Kriterien erfüllt sind, dann nur Daten als ein Array an meine DB-Schicht übergeben, welche Schleife durch das Array durchlaufen, und es vor dem Einfügen zu entkommen/desinfizieren. – vaso123