• <td id="ueom2"></td>
  • 湖南長沙八年做網站,網絡優化推廣服務團隊,讓您小投資大回報,幫您打開網絡營銷財富之門!
     業務服務熱線:0731-88571521  13637482004  
     


    地址:長沙市韶山南路248號南園503
          室(瀟湘晨報旁)
    電話:0731-88571521
    手機:13637482004
    Q  Q:44377655 522392221
    網址:www.mmm199.com
    郵箱:522392221@qq.com
    網站維護與安全
    長沙做網站聯系電話:0731-88571521 13637482004

    防SQL注入代碼(ASP版), 網站防SQL注入,網站防跨站攻擊

    信息來源:轉載 互聯網   發布時間:2019-3-19   瀏覽:

    防SQL注入代碼(ASP版)

    <% 
    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)&" 的值中包含非法字符串!\n\n 請不要在參數中出現:and,select,update,insert,delete,chr 等非法字符!\n\n我已經設置了不能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)&"的值中包含非法字符串!\n\n 請不要在參數中出現:,and,select,update,insert,delete,chr 等非法字符!\n\n設計了門,非法侵入請離開,謝謝!');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&" 的值中包含非法字符串!\n\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('傳參錯誤!參數 "&form_name&"的值中包含非法字符串!\n\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請不要在表單中出現: % & * # ( ) 等非法字符!');window.close();</Script>" 
    Case "2" 
    Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>" 
    Case "3" 
    Response.Write "<Script Language=JavaScript>alert('出錯了!參數 "&form_name&"的值中包含非法字符串!\n\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(提交數據)
    Dim ForI Rem(循環標記)
    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文件中引入也可!




    相關熱點文章


    地址:湖南長沙市韶山南路248號南園503室(瀟湘晨報旁) 版權所有:長沙市天心區斌網網絡技術服務部 統一社會信用代碼:92430103MA4LAMB24R
    咨詢電話:0731-88571521   13637482004
    業務 QQ:客服一 1306053142 客服二 1320506001 技術/售后 522392221 高級顧問 44377655
    服務郵箱:fanbin@binweb.cn  官方網址:www.mmm199.com   www.pk0731.com
    旗下網站:斌網網絡  長沙信息處  佛佛網  曬土貨網
     湘公網安備 43010302000270號  網站ICP備案號:湘ICP備13006070號-2  網站地圖  網站XML
        
    在線客服1 在線客服2 技術咨詢 資深顧問