ASP通用防注入代码.杜绝SQL注入隐患.提升网站安全

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

<%

''''''''''''''''''''''''''''''''''''''''''''''''

'ASP通用防注入代码

'您可以把该代码COPY到头文件中.也可以单独作

'为一个文件存在,每次调用使用

'作者:y3gu - 2005-7-29

''''''''''''''''''''''''''''''''''''''''''''''''

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

response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""Sql.asp"";</script>"

Response.End

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

response.write "<script>alert(""警告:\n请不要使用敏感字符"");location.href=""Sql.asp"";</script>"

Response.End

End If

Next

Next

End If

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航