LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

ASP 防注入整理

admin
2010年7月14日 1:2 本文熱度 5537
[p]1、sql安全檢測(cè)函數(shù) [br]function checkstr(str,strtype) [br]dim strtmp [br]strtmp = "" [br]if strtype ="s" then [br]strtmp = replace(trim(str),"'","''") [br]strtmp = replace(strtmp,";","") [br]elseif strtype="i" then [br]if isnumeric(str)=false then str=false [br]strtmp = str [br]else [br]strtmp = str [br]end if [br]checkstr= strtmp [br]end function[/p]
[p]把這函數(shù)放在你頁(yè)面代碼里,你的接收參數(shù)可以這樣寫 [br]<% [br]yxzy=checkstr(request("yxzy"),"s") [br]%>[/p]
[p]上面是指字符串型,如果你的參數(shù)是數(shù)字型,比方id [br]<% [br]id=request("id") [br]%> [br]那么安全的,你可以這么寫: [br]yxzy=checkstr(request("yxzy"),"i")[/p]
[p]2、過濾用戶名中的非法字符 [br]function dealusername(username_) [br]dim regexpobj [br]dim i,n [br]dim username,tempstr,resultstr[/p]
[p]username=trim(username_) [br]set regexpobj=new regexp [br]regexpobj.global = true [br]regexpobj.pattern="^[a-za-z0-9_]+$" '只允許字母、數(shù)字和下劃線 [br]'regexpobj.pattern="^\w+$" '效果同上[/p]
[p]resultstr=username [br]n=len(username) [br]for i=1 to n [br]tempstr=mid(username,i,1) [br]if not regexpobj.test(tempstr) then resultstr=replace(resultstr,tempstr,"") [br]next[/p]
[p]set regexpobj=nothing [br]dealusername=resultstr [br]end function[/p]
[p]3、防注入的安全request函數(shù)[br]function saferequest(paraname,paratype) [br]'--- 傳入?yún)?shù) --- [br]'paraname:參數(shù)名稱-字符型 [br]'paratype:參數(shù)類型-數(shù)字型(1表示以上參數(shù)是數(shù)字,0表示以上參數(shù)為字符)[/p]
[p]dim paravalue [br]paravalue=request(paraname) [br]if paratype=1 then [br]if not isnumeric(paravalue) then [br]response.write "參數(shù)" & paraname & "必須為數(shù)字型!" [br]response.end [br]end if [br]else [br]paravalue=replace(paravalue,"'","''") [br]end if [br]saferequest=paravalue [br]end function[/p]
[p]4、外部連接進(jìn)入網(wǎng)站[br]<% dim refurl [br]refurl = request.servervariables("http_referer") [br]if refurl <> "" and instr(refurl,request.servervariables("server_name")) = 0 then [br]response.write("進(jìn)入網(wǎng)站首頁(yè)") [br]response.end() [br]end if %> [br]防止從外部連接進(jìn)入網(wǎng)站,也可以防止被iframe[/p]
[p]5、iis設(shè)置[br]sql注入入侵是根據(jù)iis給出的asp錯(cuò)誤提示信息來入侵的,如果你把iis設(shè)置成不管出什么樣的asp錯(cuò)誤,只給出一種錯(cuò)誤提示信息,即http 500錯(cuò)誤,那么人家就沒辦法入侵了。具體設(shè)置請(qǐng)參看圖2。主要把500:100這個(gè)錯(cuò)誤的默認(rèn)提示頁(yè)面 c:\windows\help\iishelp\common\500-100.asp改成 [br]c:\windows\help\iishelp\common\500.htm即可,這時(shí),無(wú)論asp運(yùn)行中出什么錯(cuò),服務(wù)器都只提示http 500錯(cuò)誤。[/p]
[p]6、篩選掉不必要的sql語(yǔ)句[br]<% [br]'使用說明:在數(shù)據(jù)庫(kù)連接頁(yè)(如:conn.asp)或你要防注入的頁(yè)頭內(nèi)包含此文件即可。<[url=mailto:!--@include]!--@include[/url] file="cf_sql.asp"-->(將@改為#)[/p]
[p][br]dim cfsql_i,cfsql_sqlchr,cfsql_chrcontent [br]cfsql_sqlchr = "select*|and'|or'|insertinto|deletefrom|altertable|update|createtable|createview|dropview|createindex|dropindex|createprocedure|dropprocedure|createtrigger|droptrigger|createschema|dropschema|createdomain|alterdomain|dropdomain|);|select@|declare@|print@|char(|select" [br]cfsql_sqlchrs = split(cfsql_sqlchr,"|")[/p]
[p][br]'====================================================== [br]'post方式處理 [br]'====================================================== [br]if request.form<>"" then [br]for each cfsql_chrcontent in request.form [br]for cfsql_i=0 to ubound(cfsql_sqlchrs) [br]select case cfsql_sqlchrs(cfsql_i) [br]case "select"'為避免select的多表關(guān)聯(lián)查詢 [br]if instr(lcase(replace(request.form(cfsql_chrcontent)," ","")),"select")>0 and instr(lcase(replace(request.form(cfsql_chrcontent)," ","")),"from")>0 then [br]call cfsql_prompttitle() [br]end if [br]case "update"'update作額外處理,因update..set.. [br]if instr(lcase(replace(request.form(cfsql_chrcontent)," ","")),"update")>0 and instr(lcase(replace(request.form(cfsql_chrcontent)," ","")),"set")>0 then [br]call cfsql_prompttitle() [br]end if [br]case else [br]if instr(lcase(replace(request.form(cfsql_chrcontent)," ","")),cfsql_sqlchrs(cfsql_i))>0 then [br]call cfsql_prompttitle() [br]end if [br]end select [br]next [br]next [br]end if[/p]
[p][br]'====================================================== [br]'get方式處理 [br]'====================================================== [br]if request.querystring<>"" then [br]for each cfsql_chrcontent in request.querystring [br]for cfsql_i=0 to ubound(cfsql_sqlchrs) [br]select case cfsql_sqlchrs(cfsql_i) [br]case "select"'為避免select的多表關(guān)聯(lián)查詢 [br]if instr(lcase(replace(request.querystring(cfsql_chrcontent)," ","")),"select")>0 and instr(lcase(replace(request.querystring(cfsql_chrcontent)," ","")),"from")>0 then [br]call cfsql_prompttitle() [br]end if [br]case "update"'update作額外處理,因update..set.. [br]if instr(lcase(replace(request.querystring(cfsql_chrcontent)," ","")),"update")>0 and instr(lcase(replace(request.querystring(cfsql_chrcontent)," ","")),"set")>0 then [br]call cfsql_prompttitle() [br]end if [br]case else [br]if instr(lcase(replace(request.querystring(cfsql_chrcontent)," ","")),cfsql_sqlchrs(cfsql_i))>0 then [br]call cfsql_prompttitle() [br]end if [br]end select [br]next [br]next [br]end if[/p]
[p]%>[/p]

該文章在 2010/7/14 1:02:31 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日本一区二区三区视频免费看 | 亚洲人成影院在线播放高清 | 日韩区欧美国产区在线观看 | 久久ri精品视频 | 在线亚洲人成电影 | 日韩视频中文字暮 |