婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 兩個小函數讓你的ASP程序對SQL注入免疫!

兩個小函數讓你的ASP程序對SQL注入免疫!

熱門標簽:個人可以辦理400電話么 鳳臺百度地圖標注店 怎么在地圖標注自己 武夷山旅游地圖標注 外呼系統API接口 金昌電話機器人價格 縣域地圖標注打印店 萊西電子地圖標注 修改地圖標注
Rem ## 長整數轉換 
Function toNum(s, default) 
If IsNumeric(s) and s > "" then 
toNum = CLng(s) 
Else 
toNum = default 
End If 
End Function 

Rem ## SQL 語句轉換 
Function toSql(str) 
If IsNull(str) Then str = "" 
toSql = replace(str, "''", "''''") 
End Function 

示例: 
Dim sql 
Dim strWhere, strName, intAge 
strName = toSql(request("user")) 
intAge = toNum(request("age"), 20) 
sql = "SELECT * FROM [USER]"  _ 
"WHERE [AGE] > "  strName  _ 
" AND [USERNAME] = ''"  intAge  "''" 

一般情況下, 通過上面兩個函數的過慮, 可以杜絕網上的SQL注入攻擊!如果你覺得有需要, 可以加上對chr(0)的替換, 將toSql函數改為如下: 
Function toSql(str) 
If IsNull(str) Then str = "" 
str = replace(str, chr(0), "") 
toSql = replace(str, "''", "''''") 
End Function 

另注: 

*********************************************************************** 
檢測外部提交的函數 
Function CheckUrlRefer() 
Dim strLocalUrl, intUrlLen, strUrlRefer 
strLocalUrl = "http://127.0.0.1" 
intUrlLen = Len(strLocalUrl) 
strUrlRefer = LCase(request.ServerVariables("HTTP_REFERER")  "") 
''檢測前一個頁面是否來自 strLocalUrl 
If Left(strUrlRefer, intUrlLen) = strLocalUrl Then 
CheckUrlRefer = True 
Else 
CheckUrlRefer = False 
End If 
End Function 
*********************************************************************** 
該函數可以幫助你抵擋外部的SQL注入測試, 只需要在頁面的頭部調用即可. 

通過簡單的兩個小函數, 讓你的ASP程序更安全! 

歡迎高手指正(請將繞過這兩個函數的方法寫出來)! 

相關討論頁面: 
http://community.csdn.net/Expert/TopicView.asp?id=3585010 
http://community.csdn.net/Expert/TopicView.asp?id=3582230 

http://community.csdn.net/Expert/topic/3589/3589480.xml?temp=.4866449 
///////////////////////////////////////////////////////////////////////////////////////////////////////////// 

dim qs,errc,iii 
qs=request.servervariables("query_string") 
dim nothis(18) 
nothis(0)="net user" 
nothis(1)="xp_cmdshell" 
nothis(2)="/add" 
nothis(3)="exec%20master.dbo.xp_cmdshell" 
nothis(4)="net localgroup administrators" 
nothis(5)="select" 
nothis(6)="count" 
nothis(7)="asc" 
nothis(8)="char" 
nothis(9)="mid" 
nothis(10)="''" 
nothis(11)=":" 
nothis(12)="""" 
nothis(13)="insert" 
nothis(14)="delete" 
nothis(15)="drop" 
nothis(16)="truncate" 
nothis(17)="from" 
nothis(18)="%" 
errc=false 
for iii= 0 to ubound(nothis) 
if instr(qs,nothis(iii))>0 then 
errc=true 
end if 
next 
if errc then 
Response.Write("對不起,非法URL地址請求!") 
response.end 
end if 

*************************************************************** 

當然這方法做得太“絕”了,但是我也是沒有辦法啊。這個方法是在網上看到的,運行于一個網站上,現在一切良好。為了安全我只能這樣。我想只要有關SQL的敏感單詞都進行過濾掉應該沒有什么吧,當然像樓主的做到那一步是基本上可以了,可以修補一下用用。記得我最初用的是《SQL注入天書》上面提供的防范方法,后來才改用這個。 
將我以前用的代碼也帖出來供參考,大家有興趣可以去百度或GOOGLE中搜索一下《SQL注入天書》了解 

使用這個函數,對客戶端提交來的數據進行驗證。。。 


Function SafeRequest(ParaName,ParaType) 
''--- 傳入參數 --- 
''ParaName:參數名稱-字符型 
''ParaType:參數類型-數字型(1表示以上參數是數字,0表示以上參數為字符) 

Dim ParaValue 
ParaValue=Request(ParaName) 
If ParaType=1 then 
If not isNumeric(ParaValue) then 
Response.write "參數"  ParaName  "必須為數字型!" 
Response.end 
End if 
Else 
ParaValue=replace(ParaValue,"''","''''") 
End if 
SafeRequest=ParaValue 
End function%>

標簽:上海 邢臺 赤峰 楚雄 涼山 清遠 通遼 南京

巨人網絡通訊聲明:本文標題《兩個小函數讓你的ASP程序對SQL注入免疫!》,本文關鍵詞  兩個,小,函數,讓,你的,ASP,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《兩個小函數讓你的ASP程序對SQL注入免疫!》相關的同類信息!
  • 本頁收集關于兩個小函數讓你的ASP程序對SQL注入免疫!的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 阆中市| 绥江县| 天峻县| 买车| 上蔡县| 荔浦县| 沂水县| 商河县| 汝州市| 仪陇县| 望城县| 上杭县| 津南区| 秦皇岛市| 东阳市| 越西县| 祥云县| 翼城县| 昌都县| 长寿区| 且末县| 开化县| 泸州市| 仲巴县| 彭泽县| 兴文县| 长宁县| 南皮县| 荆州市| 鄂伦春自治旗| 酒泉市| 台湾省| 伊宁市| 贵溪市| 且末县| 和龙市| 铁力市| 南投市| 瑞金市| 镇平县| 永靖县|