日期:2014-05-17  浏览次数:21504 次

asp安全防御: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

------解决方案--------------------
接分
------解决方案--------------------
sf
------解决方案--------------------
用Access的查询+参数(类似SQL Server的存储过程)是最好的

判断这个东东多麻烦


------解决方案--------------------
接分

------解决方案--------------------
接分!
------解决方案--------------------
这样一判断,启不是连自己也无法写入库了?
------解决方案--------------------
JF
------解决方案--------------------
up...
------解决方案--------------------
这是治标不治本啊,

还是写代码时多注意些.
------解决方案--------------------
这个我用过,不好使,经常会把正常的输入也挡了。
且,这样效率也不高。
------解决方案--------------------
up...


------解决方案--------------------
接分!!
------解决方案--------------------
我觉得没必要这样吧,还是判断一下传递过来的参数就可以了
------解决方案--------------------

------解决方案--------------------