通用的防止SQL注入代码
2009-04-19 14:20
337 查看
新建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-->
<%
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-->
相关文章推荐
- asp.net 360通用防护代码,防止sql注入与xss跨站漏洞攻击
- 防止SQL注入完整ASP代码
- .Net程序防止被注入代码(整站通用)分享
- spring防止F5重复提交相同表单通用代码
- PHP简单代码防止SQL注入
- asp 防止SQL注入代码
- 防止SQL注入和禁止回车提交表单Javascript代码
- PHP中防止SQL注入实现代码
- yii2过滤xss代码,防止sql注入教程
- ASP.NET MVC 5使用Filter过滤Action参数防止sql注入,让你代码安全简洁
- .Net程序防止被注入代码(整站通用)分享
- php防止sql注入漏洞代码 && 几种常见攻击的正则表达式
- 防止SQL注入和XSS跨站攻击代码
- php防止sql注入代码实例
- 对于防止SQL注入的研究(JAVA代码实现)
- 防止SQL注入和XSS跨站攻击代码
- 防止SQL注入(JAVA代码实现)
- PHP防止SQL注入的实现代码
- 防止PHP中SQL注入实现代码
- 防止SQL注入ASP代码