日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
ASP.NET中validaterequest屬性與安全性

我們先來了解一下validaterequest屬性(注:本屬性在.net 2.0中是新增的!)

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、滎陽網(wǎng)站維護(hù)、網(wǎng)站推廣。

1.它所在的命名空間:System.Web.Configuration

2.程序集:System.Web(在 system.web.dll 中)

3.所在的類:pagesSection

上面我大體了解了一下這個屬性,下面我們在具體的分析一下該屬性,

這個屬性是用來驗(yàn)證客戶端用戶的輸入的,用來驗(yàn)證用戶的輸入中是否有危險字符的,這個屬性的默認(rèn)值為true,微軟之所以這么做是為了提高ASP.NET程序的安全性,所以很多程序員即使不知道怎么來防御黑客的攻擊。

ASP.NET的一些默認(rèn)屬性等內(nèi)容已經(jīng)對安全進(jìn)行了控制,這也是為什么ASP.NET的程序相對來說比較安全的原因。既然這個屬性的默認(rèn)值為true,而且ASP.NET頁面的回發(fā)又很頻繁,那么如果沒有用戶的交互的地方,這樣ASP.NET 豈不是每次都要去嚴(yán)整呢,這樣也是有可能會來回的損耗系統(tǒng)的執(zhí)行時間的,至于:如果沒有客戶端的交互的話,到底ASP.NET會不會去驗(yàn)證這是微軟的工程師的問題了。

對于我們來說,如果沒有客戶端交互的地方,我感覺是應(yīng)該將此屬性設(shè)置為 false的,這樣的話無論 微軟的工程師怎樣設(shè)計(jì),對我們程序的本身是沒有任何影響的。

但是當(dāng)需要跟用戶交互的地方,我們就要用它的默認(rèn)值了,可是事情可能并沒有我們想象的那么簡單,也沒有那么完美,當(dāng)用戶在使用一些html編輯器的時候,自己本身提交的字符里就有等這樣的字符,這樣就要求程序員必須要關(guān)閉validaterequest屬性,這個時候我們又該怎樣的來控制ASP.NET頁面的安全性能呢?

當(dāng)然了,這個地方我們可以來對一切危險字符進(jìn)行過濾,這樣可能提高一些安全性,但是我們防止用戶的輸入可能考慮的會有遺漏,這樣就導(dǎo)致了安全還會是有問題的,我們可以反過來考慮我們到底需要提交多少特殊字符,然后對我們提交的特殊字符進(jìn)行轉(zhuǎn)義或替換,這樣我們就又可以將validaterequest的屬性設(shè)置為true了,這樣既解決了程序的安全問題又滿足了我們的需求。

有時候在與用戶進(jìn)行交互的時候,用戶難免的會有輸入特殊字符的時候,因?yàn)槲覀冊O(shè)置的validaterequest 的值為true所以頁面會不給任何提示的前提下, 直接輸出一大頁的錯誤信息, 這樣可能就導(dǎo)致了用戶的誤解,他們可能認(rèn)為是我們網(wǎng)站出了問題,用戶不可能會想到他輸入了非法的字符! 對于這種情況我們又該怎么辦呢?

幸好微軟的工程師們在page里又給出了一個Page_Error的處理事件,這樣我們就可以用它來進(jìn)行異常的捕獲了。代碼如下:

protected void Page_Error(object sender, EventArgs e) 
    {
       Exception ex = Server.GetLastError();
       if (ex is HttpRequestValidationException)
       {
        Response.Write("您輸入的字符中有非法字符!");
        Server.ClearError(); 
        }
     }

有了這樣的提示,給用戶的體驗(yàn)可能不知道要好上多少倍了!

【編輯推薦】

  1. 寫給ASP.NET程序員:網(wǎng)站中的安全問題
  2. ASP.NET應(yīng)用程序設(shè)計(jì)的10大技巧
  3. ASP.NET數(shù)據(jù)庫編程入門

新聞名稱:ASP.NET中validaterequest屬性與安全性
本文網(wǎng)址:http://www.5511xx.com/article/cdojeed.html