Asp利用正则表达式防止SQL注入的代码
作者:cnfgg 日期:2009-08-24
在连接数据库的Conn.asp文件中加入以下代码:
复制内容到剪贴板
程序代码
程序代码<%
Response.Buffer = True
Const EnableStopInjection = True
If EnableStopInjection = True Then
If Request.QueryString <> "" Then Call StopInjection(Request.QueryString)
If Request.Cookies <> "" Then Call StopInjection(Request.Cookies)
If Request.Form <> "" Then Call StopInjection(Request.Form)
End If
Sub StopInjection(Values)
Dim regEx
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global = True
regEx.Pattern = "'|;|#|([\s\b+()]+(select|update|insert|delete|declare|@|exec|dbcc|alter|drop|create|backup|if|else|end|and|or|add|set|open|close|use|begin|retun|as|go|exists)[\s\b+]*)"
Dim sItem, sValue
For Each sItem In Values
sValue = Values(sItem)
If regEx.Test(sValue) Then
Response.Write "检测到SQL注入危险, 请确认你提交的信息不含有危险信息并清空IE缓存,重新提交信息。"
Response.End
End If
Next
Set regEx = Nothing
End Sub
%>
注:regEx.Pattern中的值根据你的需要设置,如设置不当,则一般提交的信息也会提示有SQL注入。
评论: 0 | 引用: 0 | 查看次数: -
发表评论
上一篇
下一篇

文章来自:
Tags:
相关日志: