asp 完美sql防注入執行個體程式

來源:互聯網
上載者:User

Dim Query_Badword,Form_Badword,i,Err_Message,Err_Web,name

'------定義部份  頭----------------------------------------------------------------------

Err_Message = 1  '處理方式:1=提示資訊,2=轉向頁面,3=先提示再轉向

Err_Web = "Err.Asp" '出錯時轉向的頁面

Query_Badword="'∥and∥select∥update∥chr∥delete∥%20from∥;∥insert∥mid∥master.∥set∥chr(37)∥="    

'在這部份定義get非法參數,使用"∥"號間隔    

Form_Badword="'∥%∥&∥*∥#∥(∥)∥="     '在這部份定義post非法參數,使用"∥"號間隔

 

'-----對 post 表 單值的過濾.

if request.form<>"" then
Chk_badword=split(Form_Badword,"∥")
FOR EACH name IN Request.Form
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.form(name)),Chk_badword(i))<>0 Then
Select Case Err_Message
  Case "1"
Response.Write "<Script Language=JavaScript>alert('出錯了!表單 "&name&" 的值中包含非法字串! 請不要在表單中出現: % & * # ( ) 等非法字元!');window.close();</Script>"
  Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>"
  Case "3"
Response.Write "<Script Language=JavaScript>alert('出錯了!參數 "&name&"的值中包含非法字串! 請不要在表單中出現: % & * # ( )  等非法字元!');location.href='"&Err_Web&"';</Script>"
End Select
Response.End
End If
NEXT
NEXT
end if
%>

'------定義部份  尾-----------------------------------------------------------------------
'
On Error Resume Next

'----- 對 get query 值 的過濾.

if request.QueryString<>"" then
Chk_badword=split(Query_Badword,"∥")
FOR EACH Query_Name IN Request.QueryString
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.QueryString(Query_Name)),Chk_badword(i))<>0 Then
Select Case Err_Message
  Case "1"
Response.Write "<Script Language=JavaScript>alert('傳參錯誤!參數 "&name&" 的值中包含非法字串! 請不要在參數中出現: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('傳參錯誤!參數 "&name&"的值中包含非法字串! 請不要在參數中出現:and update delete ; insert mid master 等非法字元!');location.href='"&Err_Web&"';</Script>"
End Select
Response.End
End If
NEXT
NEXT
End if

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.