近日本人有個別網站遭受到SQL入侵,于是上網搜索了一些相關防SQL注入的方法。
經常看到網頁下面有個ADMIN.ASP 說是服務器探針,一直以為是ASP網站才有 原我的的.NET網站下面也出現這種情況故而在網上找些東西
版本頗多,有人覺得這段好用,有人以為那段才行,因此綜合整理了一下,包含以下幾種:
以下為引用的內容:
<%
Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'---定義部份 頭------
Fy_Cl = 1 '處理方式:1=提示信息,2=轉向頁面,3=先提示再轉向
Fy_Zx = "index.Asp" '出錯時轉向的頁面
'---定義部份 尾------
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(' 出現錯誤!參數 "&Fy_Cs(Fy_x)&" 的值中包含非法字符串! 請不要在參數中出現:and,select,update,insert,delete,chr 等非法字符! 我已經設置了不能SQL注入,請不要對我進行非法手段!');window.close();</Script>"
Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>"
Case "3"
Response.Write "<Script Language=JavaScript>alert(' 出現錯誤!參數 "&Fy_Cs(Fy_x)&"的值中包含非法字符串! 請不要在參數中出現:,and,select,update,insert,delete,chr 等非法字符! 設計了門,非法侵入請離開,謝謝!');location.href='"&Fy_Zx&"';</Script>"
End Select
Response.End
End If
End If
Next
%>
以上代碼為較多網友所用,從使用的感言來看,效果顯著。
以下為引用的內容:
Dim Query_Badword,Form_Badword,Err_Message,Err_Web,form_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="'‖%‖&‖*‖#‖@‖=‖select‖and‖set‖delete" '在這部份定義post非法參數,使用"‖"號間隔
'------定義部份 尾-----------------------------------------------------------------------
'
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('傳參錯誤!參數 "&form_name&" 的值中包含非法字符串! 請不要在參數中出現:and update delete ; insert mid master 等非法字符!');window.close();</Script>"
-
- 百度版deepseek回復-2025年百度如何優化企業網站搜索排名
發布時間:2025-04-05
-
- 企業貴陽網站建設——成敗關健就在排名
發布時間:2014-11-01
-
- 貴陽網站建設要怎樣做才是一個好網站?
發布時間:2015-06-24
-
- 企業貴陽網站建設如何選擇WEB開發語言
發布時間:2015-06-24
-
- 貴陽網站建設費用中什么更貴?
發布時間:2015-05-22
-
- 貴陽網站優化花一樣錢補六樣
發布時間:2015-05-22
-
- 黃綠色系貴陽網頁設計
發布時間:2015-05-10
-
- 貴陽網頁設計使用紅色分析
發布時間:2015-05-10
-
- 貴陽網站建設:一般性建立網站服務器的解決三種方式
發布時間:2015-05-10