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

帮忙看一下防sql注入攻击代码

单纯男生 发布于 2009-09-23 09:57, 582 次点击
程序代码:
<%
'SQL防注入攻击
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

%>
为什么会出错  提示For Each SQL_Get In Request.QueryString
无效字符
7 回复
#2
单纯男生2009-09-23 12:36
哪儿位帮忙看下
#3
hongshen2009-09-24 17:30
怎么了?   
#4
aspic2009-09-25 08:42
复制过来的吧? 格式问题 虽然你看不到 你重新打一次代码 动手打 不行来找我
#5
aspic2009-09-25 08:44
程序代码:
<%
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  
%>
#6
单纯男生2009-09-25 19:32
谢谢啦
这回好使了  我没看出什么区别 为什么这次好使了呢
#7
aspic2009-09-26 08:40
看不到区别的不代表没有区别 复制过来的往往会有一点点差别的 特别是经过了N次复制粘贴之后 外观看起来差不多 可实际上的代码已经变质了
#8
chenguoxing5172009-09-28 16:48
If Request.QueryString<>"" Then
If Request.Form<>"" Then
建议在这两个判断下加个
If Request.Cookies<>"" Then
1