<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定義部份 頭------
Fy_Cl = 1 '處理方式:1=提示信息,2=轉(zhuǎn)向頁面,3=先提示再轉(zhuǎn)向
Fy_Zx = "index.Asp" '出錯時轉(zhuǎn)向的頁面
'---定義部份 尾------
On Error Resume Next
Fy_Url=Request.ServerVariables("QUERY_STRING")
Fy_a=split(Fy_Url,"&")
redim Fy_Cs(ubound(Fy_a))
On Error Resume Next
for Fy_x=0 to ubound(Fy_a)
Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)
Next
For Fy_x=0 to ubound(Fy_Cs)
If Fy_Cs(Fy_x)<>"" Then
If Instr(LCase(Request(Fy_Cs(Fy_x))),"'")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then
Select Case Fy_Cl
Case "1"
Response.Write "<Script Language=JavaScript>alert(' 出現(xiàn)錯誤!參數(shù) "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n 請不要在參數(shù)中出現(xiàn):and,select,update,insert,delete,chr 等非法字符!\n\n我已經(jīng)設(shè)置了不能SQL注入,請不要對我進行非法手段!');window.close();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert(' 出現(xiàn)錯誤!參數(shù) "&Fy_Cs(Fy_x)&"的值中包含非法字符串!\n\n 請不要在參數(shù)中出現(xiàn):,and,select,update,insert,delete,chr 等非法字符!\n\n設(shè)計了門,非法侵入請離開,謝謝!');location.href='"&Fy_Zx&"';</Script>"
End Select
Response.End
End If
End If
Next
%>
以上代碼為較多網(wǎng)友所用,從使用的感言來看,效果顯著。
Dim Query_Badword,Form_Badword,Err_Message,Err_Web,form_name
'------定義部份 頭----------------------------------------------------------------------
Err_Message = 1 '處理方式:1=提示信息,2=轉(zhuǎn)向頁面,3=先提示再轉(zhuǎn)向
Err_Web = "Err.Asp" '出錯時轉(zhuǎn)向的頁面
Query_Badword="'‖and‖select‖update‖chr‖delete‖%20from‖;‖insert‖mid‖master.‖set‖chr(37)‖="
'在這部份定義get非法參數(shù),使用"‖"號間隔
Form_Badword="'‖%‖&‖*‖#‖@‖=‖select‖and‖set‖delete" '在這部份定義post非法參數(shù),使用"‖"號間隔
'------定義部份 尾-----------------------------------------------------------------------
'
On Error Resume Next
'----- 對 get query 值 的過濾.
if request.QueryString<>"" then
Chk_badword=split(Query_Badword,"‖")
FOR EACH Query_form_name IN Request.QueryString
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.QueryString(Query_form_name)),Chk_badword(i))<>0 Then
Select Case Err_Message
Case "1"
Response.Write "<Script Language=JavaScript>alert('傳參錯誤!參數(shù) "&form_name&" 的值中包含非法字符串!\n\n請不要在參數(shù)中出現(xiàn):and update delete ; insert mid master 等非法字符!');window.close();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert('傳參錯誤!參數(shù) "&form_name&"的值中包含非法字符串!\n\n請不要在參數(shù)中出現(xiàn):and update delete ; insert mid master 等非法字符!');location.href='"&Err_Web&"';</Script>"
End Select
Response.End
End If
NEXT
NEXT
End if
'-----對 post 表 單值的過濾.
if request.form<>"" then
Chk_badword=split(Form_Badword,"‖")
FOR EACH form_name IN Request.Form
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.form(form_name)),Chk_badword(i))<>0 Then
Select Case Err_Message
Case "1"
Response.Write "<Script Language=JavaScript>alert('出錯了!表單 "&form_name&" 的值中包含非法字符串!\n\n請不要在表單中出現(xiàn): % & * # ( ) 等非法字符!');window.close();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert('出錯了!參數(shù) "&form_name&"的值中包含非法字符串!\n\n請不要在表單中出現(xiàn): % & * # ( ) 等非法字符!');location.href='"&Err_Web&"';</Script>"
End Select
Response.End
End If
NEXT
NEXT
end if
以上是另一種版本。
<%
Dim GetFlag Rem(提交方式)
Dim ErrorSql Rem(非法字符)
Dim RequestKey Rem(提交數(shù)據(jù))
Dim ForI Rem(循環(huán)標記)
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=""index.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=""index.asp"";</script>"
Response.End
End If
Next
Next
End If
%>
1、將上述代碼放入conn文件中即可!
2、將上述代碼保存為safe.asp,在conn文件中引入也可!
長沙科聯(lián)環(huán)?萍加邢薰
長沙科聯(lián)環(huán)?萍加邢薰咀溆趪壹夐L沙經(jīng)濟技術(shù)開發(fā)區(qū),星沙工業(yè)園、我們以“科技創(chuàng)新,聯(lián)合共...南京尚上防腐木
南京尚上防腐木是一家專業(yè)致力于加工、制作、銷售戶外景觀防腐木,并為客戶設(shè)計安裝一站式服務(wù)的現(xiàn)...長沙昱霆機電有限公司
長沙昱霆機電有限公司是長沙空壓機_長沙空壓機保養(yǎng)_湖南空壓機維修_長沙空壓機機頭維修-長沙昱...湖南省土地學(xué)會,湖南土地學(xué)會,湖南土地學(xué)會官網(wǎng)
湖南省土地學(xué)會是全省土地科技工作者自愿組成,并依法登記的學(xué)術(shù)性、非盈利性、公益性的法人社會團...湖南為美環(huán)保技術(shù)有限公司,醫(yī)療污水凈化機組...
湖南為美環(huán)保技術(shù)有限公司應(yīng)“綠水青山就是金山銀山”之勢而生,秉持“為民環(huán)保,美麗干凈”理想信...長沙租車公司-長沙鑫晨租車
長沙鑫晨租車(長沙租車網(wǎng))于2008年,已精工細作多年。現(xiàn)以成為長沙地區(qū)較早的租車公司之一。...聯(lián)系方式
地址:湖南省長沙市天心區(qū)韶山南路248號南園503室
電話:13637482004 0731-88571521
網(wǎng)址:http://www.zhikedianqi.com/
郵箱:123@123007.com
微信咨詢
掃一掃進移動端