如何防止站点被SQL注入?

近期经常发现我公司客户的站点被黑客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 = "index.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))),"%20and%20")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"%20select%20")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"%20update%20")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"%20chr")<>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))),"%20insert%20")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"%20mid")<>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 等非法字符!');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 等非法字符!');location.href='"&Fy_Zx&"';</Script>"
End Select
Response.End
End If
End If
Next

请在所有ASP文件中加入改段代码,改代码主要用于过滤客户端发送到服务器段的数据,避免SQL注入关键字的出现

返回
上海电信漕宝机房 地址:漕宝路1600号 漕宝机房介绍 上海移动双线机房 机房地址: 金沙江路1340弄 双线机房介绍
公司地址:上海市普陀区清峪路368弄12号301 邮编:200333 电话 021-52691612 传真 021-52693626
《增值电信业务经营许可证》许可证编号: 沪ICP备05001352号 上海市互联网违法与违规信息举报中心
上海市互联网协会 上海市电子商务行业协会 DNS Stuff 公益性SEO 页面执行时间:31.250毫秒
上海纵智信息技术有限公司 版权所有 2004-2007 营业执照