成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET中validaterequest屬性與安全性

開發(fā) 后端
ASP.NET中validaterequest屬性是用來(lái)驗(yàn)證客戶端用戶的輸入的,用來(lái)驗(yàn)證用戶的輸入中是否有危險(xiǎn)字符。本文簡(jiǎn)單分析了validaterequest屬性,并舉了一個(gè)簡(jiǎn)單的例子。

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

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

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

3.所在的類:pagesSection

上面我大體了解了一下這個(gè)屬性,下面我們?cè)诰唧w的分析一下該屬性,

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

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

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

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

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

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

幸好微軟的工程師們?cè)趐age里又給出了一個(gè)Page_Error的處理事件,這樣我們就可以用它來(lái)進(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)站中的安全問(wèn)題
  2. ASP.NET應(yīng)用程序設(shè)計(jì)的10大技巧
  3. ASP.NET數(shù)據(jù)庫(kù)編程入門
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2009-07-23 17:07:58

2009-07-23 17:05:11

ASP.NET安全性

2009-07-29 11:25:40

2009-07-22 17:55:52

2009-08-04 17:30:23

cookieless屬ASP.NET

2009-07-29 10:56:54

ASP.NET構(gòu)架與安

2009-07-29 13:04:59

2009-07-29 09:34:54

IsPostBack屬ASP.NET

2009-07-28 13:17:09

EnableViewSASP.NET

2009-09-23 09:19:23

2024-10-21 07:15:08

2025-04-18 08:45:26

2009-07-30 12:02:14

ASP.NET中WCF

2009-07-27 18:00:14

WCF服務(wù)與ASMX服ASP.NET

2009-12-02 09:07:45

ASP.NET 4.0

2009-07-20 15:57:42

ASP.NET安全架構(gòu)

2009-07-29 17:29:46

ASP與ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品久久久久久亚洲精品 | 东京久久 | 日本久久视频 | 久久综合九九 | avhd101在线成人播放 | 日韩成人 | 久久伊人一区二区 | 91天堂| 午夜精品一区二区三区在线观看 | 亚洲国产成人av好男人在线观看 | 精品伊人| 欧美成人不卡 | 国产一区999 | 国产成人网 | 日韩中文一区二区三区 | 久久合久久 | 日韩av一区二区在线观看 | 日本中文在线 | 特级丰满少妇一级aaaa爱毛片 | 欧美影院 | 91福利网址 | 一区二区三区欧美 | 成人av观看| 在线看片国产精品 | caoporn国产精品免费公开 | 日韩免费视频一区二区 | 亚洲欧美国产毛片在线 | 国产精品高潮呻吟久久 | 免费99精品国产自在在线 | 在线视频一区二区三区 | 日韩黄色小视频 | 欧美国产视频 | 中文在线a在线 | 日韩av啪啪网站大全免费观看 | 97成人在线 | 国产视频在线一区二区 | 91久久久久久久久久久 | 国产1区 | 夜夜夜夜草 | 日本二区 | 久久99这里只有精品 |