asp中防止脚本注入攻击
作者:未知高手
<%
SQL_injdata = " '|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare "
SQL_inj = split(SQL_Injdata, "| ")
If Request.QueryString <> " " Then
For Each SQL_Get In Request.QueryString
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))> 0 Then
Response.Write " <script Language=JavaScript> alert( '非法连接!! ') </script> "
Response.end
end if
next
Next
End If
If Request.Form <> " " Then
For Each Sql_Post In Request.Form
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))> 0 Then
Response.Write " <script Language=JavaScript> alert( '非法连接!! ') </script> "
Response.end
end if
next
next
end if
%>
转载http://www.webasp.net/article/29/28131.htm
------解决方案--------------------按上面,改为一下你试试能用不?
<%
SQL_injdata = " '|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare "
SQL_inj = split(SQL_Injdata, "| ")
request_str=Request.QueryString&Request.Form
If request_str <> " " Then
For SQL_Data=0 To Ubound(SQL_inj)
if instr(request_str,Sql_Inj(Sql_DATA))> 0 Then
Response.Write " <script Language=JavaScript> alert( '非法连接!! ') </script> "
Response.end
end if
next
End If
%>
理论上是可行的。
------解决方案--------------------感觉效果不是很好
学习下咯,=。=谢谢楼上2位
------解决方案--------------------找就出来了,你可以自己下载函数
------解决方案--------------------这么麻烦,就过滤单引号行了
------解决方案--------------------他那个通用,但限制太多,replace ',trim就够了
------解决方案--------------------sql语句中把通配符,转义符都用上,安全,简单。
用不上楼主说的吧。
------解决方案--------------------转换单引号,exec,delete,update应该够了
------解决方案--------------------呵呵,上面的,表操作的不过滤吗?。。。。。