谁能帮我解释一下ASP这锻代码!

希望每句都解释一下,在这谢过了,非常感谢!DimGetFlagRem(提交方式)DimErrorSqlRem(非法字符)DimRequestKeyRem(提交数据)Dim... 希望每句都解释一下,在这谢过了,非常感谢!
Dim GetFlag Rem(提交方式)
Dim ErrorSql Rem(非法字符)
Dim RequestKey Rem(提交数据)
Dim ForI Rem(循环标记)
ErrorSql = "'~;~and~(~)~exec~update~count~*~%~<~>~chr~mid~master~truncate~char~declare" Rem(每个敏感字符或者词语请使用半角 "~" 格开)
ErrorSql = Split(ErrorSql, "~")
If Request.ServerVariables("REQUEST_METHOD") = "GET" Then
GetFlag = True
Else
GetFlag = False
End If
If GetFlag Then
For Each RequestKey In Request.QueryString
For ForI = 0 To UBound(ErrorSql)
If InStr(LCase(Request.QueryString(RequestKey)), ErrorSql(ForI))<>0 Then
Call infoback("请不要使用特殊字符,例如英文单引号等!")
End If
Next
Next
Else
For Each RequestKey In Request.Form
For ForI = 0 To UBound(ErrorSql)
If InStr(LCase(Request.Form(RequestKey)), ErrorSql(ForI))<>0 Then
Call infoback("请不要使用特殊字符,例如英文单引号等!")
End If
Next
Next
End If
Sql_in = "and |or |on |in |select |insert |update |delete |exec |declare |'"
Sql = Split(Sql_in, "|")
If Request.QueryString<>"" Then
For Each Sql_Get In Request.QueryString
For Sql_Data = 0 To UBound(Sql)
If InStr(LCase(Request.QueryString(Sql_Get)), Sql(Sql_Data))<>0 Then
Call infoback("请不要尝试非法注入!")
End If
Next
Next
End If
If Request.Form<>"" Then
For Each Sql_Post In Request.Form
For Sql_Data = 0 To UBound(Sql)
If InStr(LCase(Request.Form(Sql_Post)), Sql(Sql_Data))<>0 Then
Call infoback("请不要尝试非法注入!")
End If
Next
Next
End If

'==========常用子程序==========

Sub infoback(info)
response.Write "<script language=javascript>alert('"&info&"');window.history.back();</script>"
response.End
End Sub

Sub infohref(info, url)
response.Write "<script language=javascript>alert('"&info&"');window.location.href='"&url&"'</script>"
response.End
End Sub

Sub noid
If request.QueryString("ID") = "" Or Not IsNumeric(request.QueryString("ID")) Then
Call infoback("不存在此数据!")
End If
End Sub
展开
 我来答
hezhiyingsr
2010-08-22
知道答主
回答量:49
采纳率:0%
帮助的人:41.1万
展开全部
上面一段是检测是否有非法字符,防止SQL注入。
infoback过程 提示信息并返回上一页
infohref过程 提示信息并转到指定页面

noid过程 检查ID是否为空或是否为一个非数值型类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式