Funktion SafeRequest(ParaName,ParaType)
'--- Parameter übergeben---
'ParaName: Parametername – Zeichentyp
'ParaType: Parametertyp – numerischer Typ (1 gibt an, dass die oben genannten Parameter Zahlen sind, 0 gibt an, dass die oben genannten Parameter Zeichen sind)
Dimmen Sie ParaValue
ParaValue=Anfrage(ParaName)
Wenn ParaType=1 dann
Wenn nicht, istNumeric(ParaValue) dann
Response.write-Parameter & ParaName & muss numerisch sein!
Antwort.Ende
Beenden Sie, wenn
Anders
ParaValue=replace(ParaValue, ', ' ')
Beenden Sie, wenn
SafeRequest=ParaValue
Funktion beenden
Verwenden Sie SafeRequest(ParaName,ParaType) anstelle von request.form() und request..querystring()
************************************************** * *************************************************** ** *****
-------------------------------------------------- -------------------------------------------------- ---------------------------------------
************************************************** * *************************************************** ** *****
<%
dimmen Sie sql_injdata
sql_injdata= '|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare
sql_injHint=replace(sql_injdata,|, )
sql_injHint=replace(sql_injHint, ', ')
sql_inj=split(sql_injdata,|)
wenn request.querystring<> dann
für jedes getData in request.querystring
für i=0 bis ubound(sql_inj)
wenn instr(lcase(request.querystring(getData)),sql_inj(i))>0 dann
hint=alert( 'Um die Sicherheit der Benutzerinformationen zu gewährleisten, verwenden Sie bitte keine illegalen Injektionszeichen. Die folgenden Zeichen sind illegal: @sql_injHint@ ');
hint=replace(hint,@sql_injHint@,sql_injHint)
Response.write <script language=javascript>
Antwort.Write-Hinweis
Response.write History.back()
Antwort.write </script>
Antwort.Ende
Ende wenn
nächste
nächste
Ende wenn
wenn request.form<> dann
für jedes getData in request.querystring
für i=0 bis ubound(sql_inj)
wenn instr(lcase(request.form(getData)),sql_inj(i))>0 dann
hint=alert( 'Um die Sicherheit der Benutzerinformationen zu gewährleisten, verwenden Sie bitte keine illegalen Injektionszeichen. Die folgenden Zeichen sind illegal: @sql_injHint@ ');
hint=replace(hint,@sql_injHint@,sql_injHint)
Response.write <script language=javascript>
Antwort.Write-Hinweis
Response.write History.back()
Antwort.write </script>
Antwort.Ende
Ende wenn
nächste
nächste
Ende wenn
%>Formulieren Sie diesen Code in einer Datei (z. B. defanj.asp) und fügen Sie alle Dateien, die in der Datenbank verwendet werden müssen, zum Header <!--#include file=defanj.asp--> hinzu