📄 conn.asp
字号:
<% '创建链接
dim cn
dim connstr
connstr="DBQ="+server.mappath("data/mmdd.asp")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set cn=server.createobject("ADODB.CONNECTION")
cn.open connstr
%>
<%
'防SQL注入
On Error Resume Next
function CheckPost(STR) '函数的作用为过滤用POST方法提交的文本字符串来防止SQL注入,可以将任意想要过滤的字符串放入Badword_POST变量中
Dim messgae,badword,newStr,goodword,strLen,onlyStr,chk_Badword '定义要使用的变量
message=STR
Badword_POST="'|%|&|*|#|@|(|)|=" '定义用Post方法提交的敏感字符
If message<>"" Then '如果字符串不为空
chk_Badword=split(Badword_POST,"|") '将要过滤的字符转换为数组
goodword="<font color='red'>敏</font>" '定义要将过滤的字符替换为新的字符
strLen=Len(message) '计算提交文本的长度
newstr="" '定义生成新字符串
For i=1 to strLen '循环
onlyStr=Mid(message,i,1) '将提交的字符串分成单个字符
For j=0 to UBOUND(chk_Badword) '将敏感字符和单个字符比较
if onlyStr=chk_Badword(j) then '如果单个字符为敏感字符
onlyStr=Replace(onlystr,chk_Badword(j),goodword) '替换敏感字符为新的字符
'onlyStr=Replace(onlystr,chk_Badword(j),ASC(onlystr)) 可选将敏感字符替换为ASCII编码
end if
Next
newstr=newstr+onlystr '生成新的提交字符串
Next
Else
newStr="空" '如果字符串为空
End If
CheckSql=newStr '函数的返回值
end function
function CheckStr(STR) '此函数作用为将HTML标记替换为UNICODE编码,防止SQL注入等
dim newStr
newStr=Replace(STR,"<","<")
newStr=Replace(newStr,">",">")
newStr=Replace(newStr," "," ")
newStr=Replace(newStr,"'","''")
newStr=Replace(newStr,"&","&")
newStr=Replace(newStr,Chr(13),"<br>")
end function
function CheckGet()'函数的作用为过滤用GET方法提交的文本字符串来防止SQL注入,此函数在页面提交中调用即可
Dim Badword_GET,Chk_badword,compareStr '定义变量
'定义不能在GET方法提交的内容出现的字符,可将需要禁止的字符添加到Badword_GET变量中,并用|号分开即可
Badword_GET="'|exec|insert|select|delete|update|count|*|and|chr|mid|truncate|declare|%20from|;|master.|set|chr(37)|=|net|cmd"
if request.QueryString<>"" then '如果通过GET方法提交的内容不能空
Chk_badword=split(Query_Badword,"|") '将要过滤的字符转换为数组
For Each compareStr In Request.QueryString '在用GET方法提交的字段中循环
for i=0 to Ubound(Chk_badword) '分别匹配不同的过滤字符
If Instr(Lcase(request.QueryString(compareStr)),Chk_badword(i))<>0 Then '如果GET提交的内容中包含非法字符,则提交失败
Response.Write "<Script Language=JavaScript>alert('参数错误,包含非法字符串!\n\n参数中不能包括:select/update/delete/ insert等非法字符!');window.history.go(-1);</Script>"
Response.End() '结束操作,且返回上一页
End If
Next
Next
End if
end function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -