程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> Asp防sql注入代碼

Asp防sql注入代碼

編輯:ASP技巧
safe.ASP,將此文件包含到每頁的頂部,下面就正常使用request,或request.querystring來獲取傳過來的值了,不需要檢測了,因為已經檢測過了。
<%
Sql_in="and |or |on |in |select |insert |update |delete |exec |declare |'"
  '防止GET方法--------------------------------------------------------
  '區分出注入字符
  Sql=Split(Sql_in,"|") 
  '如果GET過來的數據不為空
  If Request.QueryString<>"" Then
      '逐一取出提交過來的參數
     For Each Sql_Get In Request.QueryString
     For Sql_Data=0 To Ubound(Sql)
      '判斷是否包含非法字符
      IF Instr(Lcase(Request.QueryString(Sql_Get)),Sql(Sql_Data))<>0 Then
       '如果有非法字符,彈出對話框提示,並自動返回上一頁
       Response.Write("<script>alert('系統提示:請不要輸入非法字符嘗試注入↓,你的IP已記錄!');history.go(-1);</script>")
    Response.End()
   End IF
   Next
   Next
   End If
  '防止POST方法---------------------------------------------------
  IF Request.Form<>"" Then
     For Each Sql_Post In Request.Form
    For Sql_Data=0 To Ubound(Sql)
     IF Instr(Lcase(Request.Form(Sql_Post)),Sql(Sql_Data))<>0 Then
        Response.Write("<script>alert('系統提示:請不要輸入非法字符嘗試注入↓你的IP已記錄!');history.go(-1);</script>")
     Response.End()
     End IF
  Next
  Next
  End if
  '-----------------------------------------------------------
%>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved