亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

從客戶端檢測到有潛在危險的Request.Form 值【轉】

2019-11-17 01:33:49
字體:
來源:轉載
供稿:網友

從客戶端檢測到有潛在危險的Request.Form 值【轉】

asp.net開發中,經常遇到“從客戶端檢測到有潛在危險的Request.Form 值”錯誤提示,很多人給出的解決方案是:

1、web.config文檔<system.web>后面加入這一句: <pages validaterequest="false"/>示例:<?xml version="1.0" encoding="gb2312" ?><configuration><system.web><pages validaterequest="false"/></system.web></configuration>

2、在*.aspx文檔頭的page中加入validaterequest="false",示例如下:<%@ page validaterequest="false" language="c#" codebehind="index.aspx.cs" autoeventwireup="false" inherits="mybbs.webform1" %>

其實這樣做是不正確的,會給程序安全帶來風險。

  ASP.Net 1.1后引入了對提交表單自動檢查是否存在XSS(跨站腳本攻擊)的能力。當用戶試圖用之類的輸入影響頁面返回結果的時候,ASP.Net的引擎會引發一個 HttPRequestValidationExceptioin。這是ASP.Net提供的一個很重要的安全特性。因為很多程序員對安全沒有概念,甚至都不知道XSS這種攻擊的存在,知道主動去防護的就更少了。ASP.Net在這一點上做到默認安全。這樣讓對安全不是很了解的程序員依舊可以寫出有一定安全防護能力的網站。

  但是,當我Google搜索 HttpRequestValidationException 或者 "A potentially dangerous Request.Form value was detected from the client"的時候,驚奇的發現大部分人給出的解決方案竟然是在ASP.Net頁面描述中通過設置 validateRequest=false 來禁用這個特性,而不去關心那個程序員的網站是否真的不需要這個特性??吹梦疫@叫一個膽戰心驚。安全意識應該時時刻刻在每一個程序員的心里,不管你對安全的概念了解多少,一個主動的意識在腦子里,你的站點就會安全很多。

  為什么很多程序員想要禁止 validateRequest 呢?有一部分是真的需要用戶輸入"<>"之類的字符。這就不必說了。還有一部分其實并不是用戶允許輸入那些容易引起XSS的字符,而是討厭這種報錯的形式,畢竟一大段英文加上一個ASP.Net典型異常錯誤信息,顯得這個站點出錯了,而不是用戶輸入了非法的字符,可是自己又不知道怎么不讓它報錯,自己來處理報錯。

  對于希望很好的處理這個錯誤信息,而不使用默認ASP.Net異常報錯信息的程序員們,你們不要禁用validateRequest=false。

  正確的做法是在你當前頁面添加Page_Error()函數,來捕獲所有頁面處理過程中發生的而沒有處理的異常。然后給用戶一個合法的報錯信息。如果當前頁面沒有Page_Error(),這個異常將會送到Global.asax的application_Error()來處理,你也可以在那里寫通用的異常報錯處理函數。如果兩個地方都沒有寫異常處理函數,才會顯示這個默認的報錯頁面呢。

  舉例而言,處理這個異常其實只需要很簡短的一小段代碼就夠了。在頁面的Code-behind頁面中加入這么一段代碼:

protectedvoid Page_Error(object sender, EventArgs e){Exception ex = Server.GetLastError();if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException){HttpContext.Current.Response.Write("請輸入合法的字符串【<a href=/"javascr  這樣這個程序就可以截獲 HttpRequestValidationException 異常,而且可以按照程序員的意愿返回一個合理的報錯信息。

  這段代碼很簡單,所以我希望所有不是真的要允許用戶輸入之類字符的朋友,千萬不要隨意的禁止這個安全特性,如果只是需要異常處理,那么請用類似于上面的代碼來處理即可。

  而對于那些通過 明確禁止了這個特性的程序員,自己一定要明白自己在做什么,而且一定要自己手動的檢查必須過濾的字符串,否則你的站點很容易引發跨站腳本攻擊。

  關于存在Rich Text Editor的頁面應該如何處理?

  如果頁面有富文本編輯器的控件的,那么必然會導致有類的HTML標簽提交回來。在這種情況下,我們不得不將validateRequest="false"。那么安全性怎么處理?如何在這種情況下最大限度的預防跨站腳本攻擊呢?

  根據微軟的建議,我們應該采取安全上稱為“默認禁止,顯式允許”的策略。

  首先,我們將輸入字符串用 HttpUtility.HtmlEncode()來編碼,將其中的HTML標簽徹底禁止。

  然后,我們再對我們所感興趣的、并且是安全標簽,通過Replace()進行替換。比如,我們希望有""標簽,那么我們就將""顯式的替換回""。

void submitBtn_Click(object sender, EventArgs e){//將輸入字符串編碼,這樣所有的HTML標簽都失效了。 StringBuilder sb =new StringBuilder(HttpUtility.HtmlEncode(htmlInputTxt.Text));//然后我們選擇性的允許<b> 和 <i> sb.Replace("&lt;b&gt;", "<b>");sb.Replace("&lt;/b&gt;", "</b>");sb.Replace("&lt;i&gt;", "<i>");sb.Replace("&lt;/i&gt;", "</i>");Response.Write(sb.ToString());}

這樣我們即允許了部分HTML標簽,又禁止了危險的標簽。

根據微軟提供的建議,我們要慎重允許下列HTML標簽,因為這些HTML標簽都是有可能導致跨站腳本攻擊的。

<applet><body><embed><frame><script><frameset><html><iframe><img><style><layer><link><ilayer><meta><object>

可能這里最讓人不能理解的是<img>。但是,看過下列代碼后,就應該明白其危險性了。<img src="Javascript:alert('hello');">

【轉】


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区二区三区免费观看| 日韩人体视频一二区| 欧洲成人在线观看| 国产欧美一区二区三区久久人妖| 久久久爽爽爽美女图片| 久久久久www| 中文字幕亚洲欧美日韩2019| 日韩成人av网| 日韩美女福利视频| 欧美国产视频日韩| 久久久999国产精品| 91大神在线播放精品| 亚洲午夜未删减在线观看| 久久精品亚洲精品| 日本一区二区在线播放| 欧美黑人xxxⅹ高潮交| 中文字幕欧美专区| 亚洲欧美色图片| 91精品综合久久久久久五月天| 欧美二区乱c黑人| 久久综合久久八八| 黑人巨大精品欧美一区二区免费| 色综合导航网站| 2019中文字幕在线免费观看| 欧美三级免费观看| 国产精品久久91| 亚洲人成电影网站色…| 国产精品白丝jk喷水视频一区| 日韩视频欧美视频| 精品成人乱色一区二区| 国产精品亚洲综合天堂夜夜| 亚洲一区二区久久久久久| 精品国产视频在线| 日韩欧美亚洲国产一区| 久久久久久亚洲精品中文字幕| 国内精品久久影院| 日韩电影第一页| 国产精品久久在线观看| 在线日韩第一页| 亚洲精品99久久久久中文字幕| 亚洲精品电影久久久| 亚洲日韩中文字幕| 黑人巨大精品欧美一区二区三区| 精品国产区一区二区三区在线观看| 国产精品视频一区二区高潮| 一区二区亚洲欧洲国产日韩| 国产亚洲视频在线| 欧美一级片一区| 国产精品一区二区3区| 91性高湖久久久久久久久_久久99| 国产欧美日韩精品在线观看| 91在线观看免费观看| 亚洲欧美精品suv| 永久免费毛片在线播放不卡| 最新的欧美黄色| 亚州精品天堂中文字幕| 亚洲成人激情在线| 亚洲精品国产精品自产a区红杏吧| 日本中文字幕久久看| 亚洲精品久久在线| 色偷偷888欧美精品久久久| 亚洲综合中文字幕在线观看| 国产免费观看久久黄| 中国日韩欧美久久久久久久久| 久久亚洲春色中文字幕| 欧美高清不卡在线| 日本午夜人人精品| 91po在线观看91精品国产性色| 国产精品久久99久久| 亚洲一区亚洲二区| 久久久女人电视剧免费播放下载| 亚洲天堂免费观看| 欧美午夜精品久久久久久久| 红桃视频成人在线观看| 亚洲精选一区二区| 亚洲国产精品推荐| 91精品视频在线播放| 在线视频亚洲欧美| 久久免费视频在线观看| 国产精品中文字幕在线| 日韩av在线播放资源| 精品国产乱码久久久久久虫虫漫画| 国产主播在线一区| 亚洲精品一区二区网址| 欧美成在线观看| 欧美黑人狂野猛交老妇| 91系列在线播放| 亚洲自拍另类欧美丝袜| 欧美老女人www| 国产精品入口夜色视频大尺度| 日日狠狠久久偷偷四色综合免费| 狠狠躁夜夜躁人人爽超碰91| 久久99热精品这里久久精品| 久久99精品国产99久久6尤物| 日韩网站免费观看| 国产成人精品电影久久久| 欧美一级电影免费在线观看| 亚洲视频在线观看视频| 少妇精69xxtheporn| 不卡av在线播放| 亚洲欧美日韩精品久久亚洲区| 91久久在线播放| 亚洲区免费影片| 久久久久久国产| 精品成人国产在线观看男人呻吟| 美女性感视频久久久| 国产综合在线看| 精品国产精品三级精品av网址| 欧美激情网站在线观看| 欧美亚洲在线观看| 国产精品美女免费| 成人免费大片黄在线播放| 欧美日韩人人澡狠狠躁视频| 亚洲春色另类小说| 97香蕉超级碰碰久久免费的优势| 久久精品国产成人精品| 国产精品草莓在线免费观看| 91久久夜色精品国产网站| 欧美另类在线观看| 亚洲精品资源美女情侣酒店| 国产精品日韩在线| 精品香蕉一区二区三区| 国产精品91久久久久久| 欧美激情xxxxx| 97在线视频一区| 国产成人在线播放| 日韩av三级在线观看| 久久久午夜视频| 久久久精品一区| 69久久夜色精品国产7777| 九九视频直播综合网| 精品国产欧美成人夜夜嗨| 亚洲老头同性xxxxx| 91社区国产高清| 亚洲视频网站在线观看| 九九热精品在线| 色综合男人天堂| 欧美激情视频一区二区三区不卡| 久久久久久久久久久免费| 日韩电视剧在线观看免费网站| 91超碰中文字幕久久精品| 久久精品电影网站| 大量国产精品视频| 日韩美女免费视频| 亚洲国模精品私拍| 国产精品专区h在线观看| 91高潮精品免费porn| 国产精品久久久久久久一区探花| 久久久人成影片一区二区三区观看| 亚洲国产精品久久久久秋霞蜜臀| 日韩av中文字幕在线| 久久久999精品免费| 久久久国产视频91| 一本色道久久综合狠狠躁篇的优点| 日韩成人性视频| 亚洲精品wwwww| 欧美一级大胆视频| 欧美成人精品激情在线观看| 欧美性生交xxxxx久久久| 亚洲在线视频观看| 国产欧美日韩免费看aⅴ视频| 欧美综合第一页| 国产精品久久国产精品99gif| 日韩小视频在线观看|