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

發布一個asp防sql注入函數

編輯:ASP技巧
再次發布一個防sql注入的ASP函數,代碼如下:

'功能防sql注入,包括字符型變量和數字型變量。
'參數:
'ParaName:參數名稱-字符型
'ParaType:參數類型-數字型(1表示以上參數是數字,0表示以上參數為字符)
'lenlimit:長度限制
'整理:www.ASPprogram.cn
'原創文章,轉載請保留此信息。

Function SafeRequest(ParaName,ParaType,lenlimit)
 Dim ParaValue
 ParaValue = trim(Request(ParaName))
 If ParaType = 1 then
  If IsNull(ParaValue) Or (Not IsNumeric(ParaValue)) then
   ParaValue = lenlimit
  End if
 Else
  If IsNull(ParaValue) Then
   ParaValue = ""
  Else
   Dim strBadChar, arrBadChar, tempChar, i
   strBadChar = "+,',--,^," & Chr(34) & "," & Chr(0) & ""
   arrBadChar = Split(strBadChar, ",")
   tempChar = ParaValue
   For i = 0 To UBound(arrBadChar)
    tempChar = Replace(tempChar, arrBadChar(i), "")
   Next
   tempChar = Replace(tempChar, "@@", "@")

   If lenlimit <> -1 Then
    tempChar = Left(tempChar,lenlimit)
   End If
   ParaValue = tempChar
  End If
 End If
 SafeRequest = ParaValue
End Function

使用方法:
當我要獲取一個字符型變量str
value=saferequest("str",0,50)
這句的意思是:獲取參數str中的值,只獲取前50個字符,超過的丟失,並對那些特殊符號進行了過濾。

當我要獲取一個數字型變量str
value=saferequest("str",1,0)
這句的意思是:獲取參數str中的值,並進行數字判斷,不是數字的或者為空的時候,value就等於0,否則,value等於request("str")的值。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved