يمكن استخدام الوظائف المستخدمة لمنع هجمات حقن SQL مباشرة ، ولكن لا يمكنك استخدامها فقط.
نسخة الكود كما يلي:
'====================================
تصفية SQL في نموذج إرسال
'====================================
FunctionForSqlForm ()
dimfqys ، errc ، i ، العناصر
Dimnothis (18)
لا شيء (0) = netuser
لا شيء (1) = xp_cmdshell
لا شيء (2) =/إضافة
لا شيء (3) = exec ٪ 20master.dbo.xp_cmdshell
لا شيء (4) = netlocalgroupadministrators
لا شيء (5) = حدد
لا شيء (6) = العد
لا شيء (7) = ASC
لا شيء (8) = شار
لا شيء (9) = منتصف
لا شيء (10) = '
لا شيء (11) =:
لا شيء (12) =
لا شيء (13) = إدراج
لا شيء (14) = حذف
لا شيء (15) = قطرة
لا شيء (16) = اقتطاع
لا شيء (17) = من
لا شيء (18) = ٪
'Nothis (19) =@
errc = خطأ
fori = 0toubound (وليس هذا)
foreachitemsinrequest.form
ifinstr (request.form (عناصر) ، notis (i)) <> 0then
استجابة. write (<viv>)
Response.write (المعلومات التي قمت بملأها:
استجابة. write (</div>)
Response.write (آسف ، المعلومات التي ملأتها تحتوي على شخصيات غير قانونية! <ahref =#onClick = History.back ()> return </a>)
استجابة.
Endif
التالي
التالي
الوظيفية
'====================================
مرشح SQL في الاستعلام
'====================================
FunctionForSqlinjection ()
dimfqys ، errc ، أنا
Dimnothis (19)
fqys = request.servervariables (Query_String)
لا شيء (0) = netuser
لا شيء (1) = xp_cmdshell
لا شيء (2) =/إضافة
لا شيء (3) = exec ٪ 20master.dbo.xp_cmdshell
لا شيء (4) = netlocalgroupadministrators
لا شيء (5) = حدد
لا شيء (6) = العد
لا شيء (7) = ASC
لا شيء (8) = شار
لا شيء (9) = منتصف
لا شيء (10) = '
لا شيء (11) =:
لا شيء (12) =
لا شيء (13) = إدراج
لا شيء (14) = حذف
لا شيء (15) = قطرة
لا شيء (16) = اقتطاع
لا شيء (17) = من
لا شيء (18) = ٪
لا شيء (19) =@
errc = خطأ
fori = 0toubound (وليس هذا)
ifinstr (fqys ، وليس هذا (i)) <> 0then
errc = صحيح
Endif
التالي
iferrcthen
Response.Write معلومات الاستعلام تحتوي على شخصيات غير قانونية! <ahref =#onClick = History.back ()> return </a>
استجابة
Endif
الوظيفية