注册 登录
编程论坛 ASP技术论坛

关于asp安全问题

renxiaoyi 发布于 2012-07-09 09:24, 603 次点击
<%
dim sql_injdata
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('SQL通用防注入系统提示↓nn请不要在参数中包含非法字符尝试注入!');history.back(-1)</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('SQL通用防注入系统提示↓nn请不要在参数中包含非法字符尝试注入!');history.back(-1)</Script>"
                Response.end  
            end if  
        next  
    next  
end if  
If Request.Cookies<>"" 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('SQL通用防注入系统提示↓nn请不要在参数中包含非法字符尝试注入!');history.back(-1)</Script>"
                Response.end  
            end if  
        next  
    next  
end if  
%>

这段代码我是放在conn。asp  数据库连接文件里面的,不知道这样写能防止sql注入吗?
4 回复
#2
coretear2012-07-09 11:37
他自动就执行了 你不用管它
#3
coretear2012-07-09 11:39
但是并不建议用这样的写法来做,会搞掉一些正常数据
#4
netlin2012-07-09 23:45
对,就是这么干的。
有时会搞掉一些正常数据,也是不可避免的,看病吃药都会有副作用的。
#5
renxiaoyi2012-08-18 16:41
回复 4楼 netlin
thanks
1