通用的防止SQL注入代码

38 篇文章 0 订阅

新建sqllin.asp网页文件,编写以下代码检查POST和GET方式提交的所有数据,如果发现有过滤字符,则显示弹出对话框,并中断程序的运行

<%
Dim   SQL_Post,SQL_Get,strFilter,aFilter,i
strFilter=" |;|and|(|)|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare" 
aFilter=split(strFilter,"|") 
If Request.Form<>"" Then  检查POST方式提交的数据
 For Each SQL_Post In Request.Form 
  For i=0 To Ubound(aFilter) 
  If Instr(LCase(Request.Form(SQL_Post)),aFilter(i))<>0 Then 
    此处可添加保存恶意攻击者的信息到数据库
   str=str & "<Script Language=JavaScript>"
   str=str & "alert( 请不要在参数中包含非法字符尝试注入攻击本站!/n/n"
   str=str & "本站已经记录了您的以下数据:/n/n"
   str=str & "操作IP:" & Request.ServerVariables("REMOTE_ADDR")&"/n/n"
   str=str & "操作时间:"& Now & "/n/n"
   str=str & "操作页面:"&Request.ServerVariables("URL")&"/n/n"
   str=str & "提交方式:POST/n/n"
   str=str & "提交参数:"& SQL_Post &"/n/n"
   str=str & "提交数据:"& Request.Form(SQL_Post)
   str=str & "</script>"
   Response.Write str
   Response.End
  End If 
  Next 
 Next 
End If 

If Request.QueryString<>"" Then  检查GET方式提交的数据
 For Each SQL_Get In Request.QueryString 
  For i=0 To Ubound(aFilter) 
  If Instr(LCase(Request.QueryString(SQL_Get)),aFilter(i))<>0 Then 
    此处可添加保存恶意攻击者的信息到数据库
   str= "<Script Language=JavaScript>"
   str=str & "alert( 请不要在参数中包含非法字符尝试注入攻击本站!/n/n"
   str=str & "本站已经记录了您的以下数据:/n/n"
   str=str & "操作IP:" & Request.ServerVariables("REMOTE_ADDR")&"/n/n"
   str=str & "操作时间:"& Now & "/n/n"
   str=str & "操作页面:"&Request.ServerVariables("URL")&"/n/n"
   str=str & "提交方式:GET/n/n"
   str=str & "提交参数:" & SQL_Post &"/n/n"
   str=str & "提交数据:" & Request.QueryString(SQL_Get) & " );"
   str=str & "</script>"
   Response.Write str
   Response.End
  End   If 
  Next 
 Next 
End If    
%>

在过滤字符串strFilter中可根据需要进行添加

在处理用户提交数据的页面首部包含sqlin.asp文件即可

<!--#include file=sqllin.asp-->

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值