الآن أصبحت الهجمات على مواقع الويب أكثر جدية. مع تقدم العصر ، أصبحت هجمات المتسللين على مواقع الويب متنوعة. الآن نقدم بشكل أساسي نوع واحد من الهجوم هو حقن SQL. يتبع الأصدقاء المهتمين محرر قناة التكنولوجيا الجديدة الخاطئة للتعرف على ASP لمنع رمز حقن SQL!
يمكن أن يمنع نسخ الكود التالي إلى رأس كل ملف حقن SQL. أهم شيء هو كتابة سلامة البرنامج :)
<% Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx '---定义部份头------ Fy_Cl = 1 '处理方式:1=提示信息,2=转向页面,3=先提示再转向Fy_Zx = "Error.Asp" '出错时转向的页面'---定义部份尾------ On Error Resume Next Fy_Url=Request.ServerVariables("QUERY_STRING") Fy_a=split(Fy_Url,"&") redim Fy_Cs(ubound(Fy_a)) On Error Resume Next for Fy_x=0 to ubound(Fy_a) Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1) Next For Fy_x=0 to ubound(Fy_Cs) If Fy_Cs(Fy_x)<>"" Then If Instr(LCase(Request(Fy_Cs(Fy_x))),"'")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"and")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then Select Case Fy_Cl Case "1" Response.Write "<Script Language=JavaScript>alert(' 出现错误!参数"&Fy_Cs(Fy_x)&" 的值中包含非法字符串!/n/n 请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!/n/n你想干吗!不要做无聊的事情!谢谢!');window.close();</Script>" Case "2" Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>" Case "3" Response.Write "<Script Language=JavaScript>alert(' 出现错误!参数"&Fy_Cs(Fy_x)&"的值中包含非法字符串!/n/n 请不要在参数中出现:;,and,select,update,insert,delete,chr 等非法字符!/n/n你想干吗!不要做无聊的事情!谢谢!');location.href='"&Fy_Zx&"';</Script>" End Select Response.End End If End If Next %>الرموز أعلاه كلها خاطئة. ASP جمعها محرر قناة التكنولوجيا الجديدة لمنع SQL من رمز الحقن. آمل أن يكون بعض المساعدة لتعلم الجميع!