西南啄帜国际贸易有限公司

專業(yè)的廣州網(wǎng)站建設(shè)、廣州網(wǎng)站制作公司為您服務(wù),電話:020-85548809,29883069 手機(jī)訪問
微信關(guān)注
關(guān)注奇億廣州網(wǎng)站建設(shè)微信
網(wǎng)站導(dǎo)航
新聞中心
首頁>新聞中心>網(wǎng)頁設(shè)計(jì)

ASP動(dòng)態(tài)參數(shù)傳遞怎么進(jìn)行安全過濾?

添加時(shí)間:2012/8/28 18:08:48    編輯:奇億網(wǎng)站建設(shè)公司

ASP網(wǎng)站的動(dòng)態(tài)參數(shù)傳遞一直是個(gè)不小的安全問題,如不進(jìn)行安全過濾經(jīng)常會(huì)被黑客利用,一般的注入便是由于網(wǎng)站設(shè)計(jì)時(shí)沒有注意好傳遞過來的參數(shù)進(jìn)行過濾,比如http://m.dalianshunda.com.cn/news.asp?id=5直接用request("id")來獲取ID=5,黑客則可輕易利用此入侵。

下面教你兩種方法簡(jiǎn)單防御:
方法一:
<%'過濾安全字符
Function SafeRequest(ParaName,ParaType)
'--- 傳入?yún)?shù) ---
'ParaName:參數(shù)名稱-字符型
'ParaType:參數(shù)類型-數(shù)字型(1表示以上參數(shù)是數(shù)字,0表示以上參數(shù)為字符)

Dim ParaValue
ParaValue=Request(ParaName)
If ParaType=1 then
If not isNumeric(ParaValue) then
Response.write "參數(shù)" & ParaName & "必須為數(shù)字型!<br /><br />"
Response.end
End if
Else
ParaValue=replace(ParaValue,"'","''")
 ParaValue = Replace(ParaValue, "select", "sel&#101;ct")
 ParaValue = Replace(ParaValue, "join", "jo&#105;n")
 ParaValue = Replace(ParaValue, "union", "un&#105;on")
 ParaValue = Replace(ParaValue, "where", "wh&#101;re")
 ParaValue = Replace(ParaValue, "insert", "ins&#101;rt")
 ParaValue = Replace(ParaValue, "delete", "del&#101;te")
 ParaValue = Replace(ParaValue, "update", "up&#100;ate")
 ParaValue = Replace(ParaValue, "like", "lik&#101;")
 ParaValue = Replace(ParaValue, "drop", "dro&#112;")
 ParaValue = Replace(ParaValue, "create", "cr&#101;ate")
 ParaValue = Replace(ParaValue, "modify", "mod&#105;fy")
 ParaValue = Replace(ParaValue, "rename", "ren&#097;me")
 ParaValue = Replace(ParaValue, "alter", "alt&#101;r")
 ParaValue = Replace(ParaValue, "cast", "ca&#115;t")
 ParaValue = Replace(ParaValue, "and", "an&#100;")
 ParaValue = Replace(ParaValue, "or", "o&#114;")
End if
SafeRequest=ParaValue
End function

%>

用法:當(dāng)傳遞過來的參數(shù)ID為數(shù)字時(shí),用safeRequest("id",1)接收;當(dāng)傳遞的ID為字符時(shí),用safeRequest("id",0)接收,這樣便可防御一般黑客的參數(shù)注入。

方法二:
簡(jiǎn)單過濾黑客需要用到的常用注入符號(hào):<%id=replace(request("id"), " ' ", " ' ' ")%>

嘉峪关市| 肥东县| 盐源县| 鄂伦春自治旗| 北碚区| 阿图什市| 马尔康县| 高要市| 民丰县| 台江县| 永州市| 车险| 海晏县| 凤台县| 新竹县| 威海市| 津南区| 枣庄市| 澄城县| 安新县| 漳州市| 威海市| 兖州市| 瑞丽市| 富民县| 巴青县| 科尔| 元谋县| 永州市| 逊克县| 福鼎市| 福建省| 怀安县| 陆河县| 木兰县| 达日县| 嘉鱼县| 万宁市| 横山县| 河北区| 宣威市|