首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

asp中防止脚本注入攻击,该怎么处理

2012-03-20 
asp中防止脚本注入攻击作者:未知高手%SQL_injdata |and|exec|insert|select|delete|update|count|*|%|c

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应该够了
[解决办法]
呵呵,上面的,表操作的不过滤吗?。。。。。

热点排行
Bad Request.