asp程序中我使用了防注入代码,但是对网站用户来说很不方便,有办法解决吗

我使用了后面的代码防止sql注入,但是有个问题因为用户在输入中经常无意使用到被禁止的字符,比如说用户的输入中有一个单词中含有'or'这样就不能提交,有没有更好的防注入代码,即可以让用户可以输入任何希望的字符,同时也可以保证不比搞破坏的人注入.

'--------SQL防注入定义部份------------------
Fy_In = "or|join|union|like|modify|cast|drop|exec|insert|select|delete|update|count|alter|rename|chr|mid|truncate|char|declare|'"
Fy_Inf = split(Fy_In,"|")
'--------POST部份------------------
If Request.Form<>"" Then
For Each Fy_Post In Request.Form
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert('您的输入中含有危险字符');history.back();</Script>"
Response.End
End If
Next
Next
End If
'--------GET部份-------------------
If Request.QueryString<>"" Then
For Each Fy_Get In Request.QueryString
For Fy_Xh=0 To Ubound(Fy_Inf)
If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert('您的输入中含有危险字符');history.back();</Script>"
Response.End
End If
Next
Next
End If
最新回答
光棍可耻专门浪费卫生纸。

2024-11-28 12:49:33

其实你不用担心呀..而且有危险字符的话,直接用空白代替就好了.用REPLACE函数.如REPLACE(字符串,要替换的字符,"")
栀夏暖阳

2024-11-28 15:07:58

建议进行转义,比如空格转为 之类的,但是你的网站是什么网站,用户需要输入'or'?
我怕的是人心

2024-11-28 12:57:27

用adodb.command参数化查询可以防注入