防注入代码应该如何使用?

来源:百度知道 编辑:UC知道 时间:2024/06/04 00:55:07
<%
set conn=server.CreateObject("ADODB.Connection")
conn.connectionstring="driver=Microsoft Access Driver (*.mdb);DBQ="&Server.mappath("wd888.asp")
conn.open
%>
<%
dim sql_injdata,SQL_inj,SQL_Get
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(LCase(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_i

简单的,通过类型识别来防
'SQL安全检测函数
Function CheckStr(str,strType)
Dim strTmp
strTmp = ""
If strType ="s" Then
strTmp = Replace(Trim(str),"'","''")
strTmp = Replace(strTmp,";","")
ElseIf strType="i" Then
If IsNumeric(str)=False Then str=False
strTmp = str
Else
strTmp = str
End If
CheckStr= strTmp
End Function

把这函数放在你页面代码里,你的接收参数可以这样写
<%
yxzy=CheckStr(Request("yxzy"),"s")
%>

上面是指字符串型,如果你的参数是数字型,比方id
<%
id=Request("id")
%>
那么安全的,你可以这么写:
yxzy=CheckStr(Request("yxzy"),"i")

用这个函数就可以过滤sql注入。
复杂的,可以过滤关键字和通过正则表达式来识别

程序可以看到源代码,很适合学习

SQL通用防注入程序 v3.1 最终纪念版
防注入代码应该如何使用? 这段ASP防注入代码如何使用? sql 代码注入如何防? 谁有好点的防SQL注入的代码 求一个asp防注入代码 网站如何防SQL注入 IIS 如何防止代码注入? 如何防注入网页挂马? 求帮改一段代码,利用SQL通用防注入系统 这段代码防注入还不行吗?