이제 웹 사이트에 대한 공격이 점점 더 심각 해지고 있습니다. 타임즈의 진전으로 인해 웹 사이트에 대한 해커의 공격은 다양 해졌습니다. 이제 우리는 주로 한 가지 유형의 공격이 SQL 주입입니다. 관심있는 친구들은 잘못된 새로운 기술 채널의 편집자를 따라 SQL 주입 코드를 방지하기 위해 ASP에 대해 배우십시오!
다음 코드를 각 파일의 헤더에 복사하면 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 %>위의 코드는 모두 잘못되었습니다. SQL이 코드를 주입하는 것을 방지하기 위해 새로운 기술 채널의 편집자가 수집 한 ASP. 모든 사람의 학습에 도움이되기를 바랍니다!