في الآونة الأخيرة، بسبب تعديل برنامج ASP (الذي يحتوي على ثغرة أمنية في حقن SQL)، وجدت الكثير من طرق الوقاية ذات الصلة على الإنترنت، لكن لم يكن أي منها مرضيًا، لذلك قمت بتحسين بعض الأساليب على الإنترنت بشكل شامل وكتبت هذا وظيفة ASP للرجوع إليها.
هنا اقتباس:
وظيفة SafeRequest(ParaName)
خافت ParaValue
ParaValue=طلب(ParaName)
إذا IsNumeric(ParaValue) = صحيح إذن
SafeRequest=ParaValue
وظيفة الخروج
elseIf Instr(LCase(ParaValue),"select ") > 0 أو Instr(LCase(ParaValue),"insert ") > 0 أو Instr(LCase(ParaValue),"حذف من") > 0 أو Instr(LCase(ParaValue) "count(") > 0 أو Instr(LCase(ParaValue),"drop table") > 0 أو Instr(LCase(ParaValue),"update ") > 0 أو Instr(LCase(ParaValue),"truncate ") > 0 أو Instr(LCase(ParaValue),"asc(") > 0 أو Instr(LCase(ParaValue),"mid(") > 0 أو Instr(LCase(ParaValue),"char(") > 0 أو Instr(LCase (ParaValue),"xp_cmdshell") > 0 أو Instr(LCase(ParaValue),"exec master") > 0 أو Instr(LCase(ParaValue),"net localgroup Administrators") > 0 أو Instr(LCase(ParaValue)," و ") > 0 أو Instr(LCase(ParaValue),"net user") > 0 أو Instr(LCase(ParaValue)," أو ") > 0 ثم
Response.Write "<script language='javascript'>"
Response.Write "alert('Illegal request!');" 'تم العثور على رسالة موجهة لهجوم حقن SQL
Response.Write "location.href='http://blog.downcodes.com/';" 'تم العثور على عنوان URL لإعادة توجيه هجوم حقن SQL
الاستجابة.اكتب "<script>"
الاستجابة.نهاية
آخر
SafeRequest=ParaValue
نهاية إذا
وظيفة الإنهاء
طلبك بوظيفة SafeRequest