?? 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 + -