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

防sql注入代码看不懂 给讲一下!

flynet 发布于 2007-09-18 17:52, 506 次点击
Function CheckSql() '防止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('请不要在参数中包含非法字符!');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('请不要在参数中包含非法字符!');history.back(-1)} </Script>"
Response.end
end if
next
next
end if
End Function

红字的地方我不懂什么意思啊 而且 这段代码 怎么用呢? 我用了一下 是用的包含文件的形式 然后他提示我红字的那句话错误~~~SQL_Get 从哪来的?

[此贴子已经被作者于2007-9-18 17:53:54编辑过]

6 回复
#2
linyesu2007-09-18 17:59
get 方式 和 post 方式 传参 的集合吧
#3
yms1232007-09-18 18:13
Dim以下SQL_Get和SQL_Post呢?
#4
flynet2007-09-19 09:03

已经会用了 唉 可是对红字的地方还是不太明白

#5
yms1232007-09-19 10:48
For Each SQL_Get In Request.QueryString 这是ASP中遍历集合的一种方法,集合在ASP中很少使用,所以这种代码在ASP中不常见。
#6
孤独冷雨2007-09-20 23:39
现在偶也会了,学习学习!
1