人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

一個asp函數, 處理SQL Injection漏洞

一個asp函數, 處理SQL Injection漏洞

更新時間:2022-08-04 文章作者:未知 信息來源:網絡 閱讀次數:

/**
作者:慈勤強
Email: cqq1978@Gmail.com
*/

函數很簡單, 主要是針對字符串和數字兩種類型的傳入數據分別進行了處理,具體用法:

字符類型的
strUsername = CheckInput(Request(“username“),“s“)
數字類型的
ID = CheckInput(Request(“id“),“i“)

下面是函數

Function CheckInput(str,strType)
   '函數功能:過濾字符參數中的單引號,對于數字參數進行判斷,如果不是數值類型,則賦值0
   '參數意義:  str        ---- 要過濾的參數
   '                 strType ---- 參數類型,分為字符型和數字型,字符型為"s",數字型為"i"
 Dim strTmp
 strTmp     = ""
 If strType ="s" Then
  strTmp = Replace(Trim(str),"'","''")
 ElseIf strType="i" Then
  If isNumeric(str)=False Then str="0"
  strTmp = str
 Else
  strTmp = str
 End If
 CheckInput = strTmp
End Function


SQL Injection的危害是很大的,比如對于SQL Server,可以創建、刪除數據庫,執行系統命令等等, 如drop table tbl_name, execute master.dbo.xp_cmdshell "command"所以很多人寫的函數就是拼命的去過濾這些可能引起危害的關鍵詞,比如drop ,分號,and,exe,mid等等,羅列了一大堆。

其實,盡可以不必那么繁瑣,非要把簡單的事情復雜化。
對于過濾,ASP中只要針對字符型和數字型分別處理就可以了,

字符型的,把單引號轉換成兩個單引號  strTmp = Replace(Trim(str),"'","''")
數字型的,就判斷是否能夠轉換成數字型的 ,用 isNumeric函數

現在網上說的能夠繞過單引號的攻擊,其實是針對數字類型的,如果對于過濾了單引號的字符型,還有辦法繞過,那就沒得玩了........

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 东至县| 昌江| 麻阳| 合阳县| 永福县| 枣强县| 万源市| 城口县| 钟祥市| 屏山县| 南城县| 株洲县| 合江县| 启东市| 社旗县| 谷城县| 灵璧县| 黄大仙区| 喀喇| 高雄县| 吴川市| 隆尧县| 吴桥县| 汕头市| 呼玛县| 洪雅县| 尼玛县| 团风县| 平凉市| 文成县| 青神县| 阳江市| 梧州市| 鄱阳县| 嘉兴市| 屏东市| 天等县| 灵石县| 五寨县| 专栏| 蒲城县|