国产九色porn网址_亚洲综合伊人_91麻豆精品视频_免费吸乳羞羞网站视频

您好,微網(wǎng)歡迎您! 登錄  |  注冊(cè)
汕頭公司 |  深圳公司              咨詢熱線:400-830-8248               微網(wǎng)優(yōu)點(diǎn)  |  視頻介紹 |  服務(wù)支持
開(kāi)店咨詢
咨詢電話:400-830-8248
微網(wǎng)商學(xué)院
中國(guó)第一微商學(xué)院
網(wǎng)絡(luò)商學(xué)院
首頁(yè) > 微信營(yíng)銷
Uber投資4家歐洲初創(chuàng)公司 為贏歐洲人好感?
文章出處:騰訊科技  更新時(shí)間:2016-08-12  點(diǎn)擊率:
分別為:法國(guó)初創(chuàng)公司Brigad、英國(guó)的Memrica公司、荷蘭初創(chuàng)公司Otly、波蘭的Hipromine公司;據(jù)介紹只投入了“少額”資金。

導(dǎo)讀:在.Net4中有個(gè)System.Web.Util.RequestValidator類,該類是自定義請(qǐng)求驗(yàn)證的基類。我們可以通過(guò)實(shí)現(xiàn)一個(gè)繼承自該基類的類,從而實(shí)現(xiàn)自己的請(qǐng)求驗(yàn)證過(guò)程,比如對(duì)提交的表單數(shù)據(jù),查詢字符串等等進(jìn)行驗(yàn)證。

1. 請(qǐng)求驗(yàn)證什么?

首先,請(qǐng)看下圖:

上圖中,是我們常見(jiàn)一個(gè)ASP.Net錯(cuò)誤提示.由于ASP.Net默認(rèn)情況是把請(qǐng)求驗(yàn)證(validateRequest)設(shè)置是為true,從而使得ASP.Net會(huì)對(duì)提交的信息進(jìn)行檢查,這在一定程度上有效的阻止了某些危險(xiǎn)攻擊,比如:跨站腳本攻擊(XSS/CSS)。

但是,也存在以下問(wèn)題:

有時(shí)候,我們?cè)试S用戶輸入某些特殊時(shí),如果按照請(qǐng)求驗(yàn)證(validateRequest)默認(rèn)設(shè)置true,那么當(dāng)用戶輸入我們?cè)试S的特殊字符時(shí),就會(huì)出現(xiàn)如上圖所示的錯(cuò)誤提示,阻止了用戶輸入.此時(shí),我們必須將請(qǐng)求驗(yàn)證設(shè)置為false,才能允許用戶輸入特殊字符。可是,一旦把請(qǐng)求驗(yàn)證設(shè)置為false,那么ASP.Net就不會(huì)對(duì)請(qǐng)求驗(yàn)證了,這樣其潛在危險(xiǎn)就超過(guò)了我們的控制范圍.

雖然,我們可以在某些頁(yè)面做特殊處理,以便阻止這些潛在的危險(xiǎn).可以,隨著項(xiàng)目擴(kuò)大,也許要處理的頁(yè)面就會(huì)增長(zhǎng).顯然,我們需要靈活、方便、更好的方式進(jìn)行處理.那么現(xiàn)在在ASP.NET4就為我們提供了一個(gè)可以集中處理的自定義擴(kuò)展點(diǎn)。

2.RequestValidator

在.Net4中有個(gè)System.Web.Util.RequestValidator類,該類是自定義請(qǐng)求驗(yàn)證的基類.我們可以通過(guò)實(shí)現(xiàn)一個(gè)繼承自該基類的類,從而實(shí)現(xiàn)自己的請(qǐng)求驗(yàn)證過(guò)程.

目前,可以驗(yàn)證的請(qǐng)求由枚舉類RequestValidatorSource提供,可枚舉項(xiàng)具體如下:

1. QueryString 查詢字符串。

IsValidRequestString方法的collectionKey參數(shù)設(shè)置為集合中查詢字符串參數(shù)的名稱。

IsValidRequestString方法的value參數(shù)設(shè)置為集合中查詢字符串參數(shù)的值。

2. Form窗體值

IsValidRequestString方法的collectionKey參數(shù)設(shè)置為集合中窗體參數(shù)的名稱。

IsValidRequestString方法的value參數(shù)設(shè)置為集合中窗體參數(shù)的值。

3. Cookies請(qǐng)求Cookie。

IsValidRequestString方法的collectionKey參數(shù)設(shè)置為集合中的Cookie的名稱。

IsValidRequestString方法的value參數(shù)設(shè)置為集合中的值。

4.Files上載的文件。

IsValidRequestString方法的collectionKey參數(shù)設(shè)置為集合中已上載文件的名稱。

IsValidRequestString方法的value參數(shù)設(shè)置為集合中已上載文件的值。

5. RawUrl原始URL。(域后的URL部分。)

IsValidRequestString方法的collectionKey參數(shù)設(shè)置為null。(RawUrl不是值集合。)

IsValidRequestString方法的value參數(shù)設(shè)置為RawUrl字段的值。

6. Path虛擬路徑。

IsValidRequestString方法的 collectionKey參數(shù)設(shè)置為null(Path不是值的集合)。

IsValidRequestString方法的value參數(shù)設(shè)置為Path字段的值。

7. PathInfo HTTP PathInfo字符串(URL路徑的擴(kuò)展)。

IsValidRequestString方法的collectionKey參數(shù)設(shè)置為null(PathInfo不是值的集合)。

IsValidRequestString方法的value參數(shù)設(shè)置為PathInfo字段的值。

8.Headers請(qǐng)求標(biāo)頭。

IsValidRequestString方法的collectionKey參數(shù)設(shè)置為集合中HTTP頭的名稱。

IsValidRequestString方法的value參數(shù)設(shè)置為集合中HTTP頭的值。

通過(guò)以上這些枚舉我們基本上就能對(duì)常見(jiàn)提交的數(shù)據(jù)進(jìn)行統(tǒng)一請(qǐng)求驗(yàn)證處理,比如:忽略某些特殊的數(shù)據(jù)或者處理某些特殊的數(shù)據(jù)或者提供一個(gè)友好的錯(cuò)誤頁(yè)面等。

3.實(shí)現(xiàn)自定義請(qǐng)求驗(yàn)證

下面演示如何實(shí)現(xiàn)一個(gè)自定義驗(yàn)證類,對(duì)每個(gè)查詢字符串驗(yàn)證.步驟如下:

1.繼承RequestValidator類,只需要重寫IsValidRequestString方法,如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Util;

namespace WebApplication1

{

public class myRequestValidator:RequestValidator

{

protected override bool IsValidRequestString(HttpContext context, string value, RequestValidationSource requestValidationSource, string collectionKey, out int validationFailureIndex)

{

validationFailureIndex = -1;

if (requestValidationSource == RequestValidationSource.QueryString) //對(duì)查詢字符串進(jìn)行驗(yàn)證

{

if (value.Contains("<"))//檢查是否包含<,當(dāng)然也可以檢查其他特殊符號(hào),或者忽略某些特殊符號(hào).

{

context.Response.Redirect("~/Error.aspx",true);//直接轉(zhuǎn)到自定義的錯(cuò)誤頁(yè)面.

return false;

}

}

return base.IsValidRequestString(context, value, requestValidationSource, collectionKey, out validationFailureIndex);

}

}

2.在web.config中設(shè)置請(qǐng)求驗(yàn)證類型為自定義的類型.如下: <configuration>

<system.web>

<compilation debug="true" targetFramework="4.0" />

<httpRuntime requestValidationType="WebApplication1.myRequestValidator" />

</system.web>

</configuration> 

現(xiàn)在,我們通過(guò)修改url來(lái)提交帶<特殊符號(hào)的頁(yè)面時(shí),將會(huì)被定向到自定義的錯(cuò)誤頁(yè)面,而不是默認(rèn)錯(cuò)誤提示.如下:

如下圖所示,并沒(méi)有出現(xiàn)默認(rèn)的錯(cuò)誤提示,而是到了我們自己提供一個(gè)錯(cuò)誤頁(yè)面

最后,ASP.Net4為我們提供很多擴(kuò)展點(diǎn),可以很方便進(jìn)行擴(kuò)展,使得我們的應(yīng)用程序更加靈活可控

文章轉(zhuǎn)載于:http://www.ebrun.com/20160810/186482.shtml

聲明:本網(wǎng)部份文章為轉(zhuǎn)載文章,在每篇文章底部有說(shuō)明,文章的觀點(diǎn)和立場(chǎng)僅代表作者個(gè)人立場(chǎng),不代表微網(wǎng)立場(chǎng),若是文章轉(zhuǎn)載中有侵范您的權(quán)益,請(qǐng)發(fā)郵件到 493149@qq.com或致電13922854199通知?jiǎng)h除,謝謝!

QQ咨詢  技術(shù)總監(jiān)  微網(wǎng)顧問(wèn)  陳經(jīng)理  渠道經(jīng)理  

免費(fèi)電話 免費(fèi)熱線:400-830-8248  

微信咨詢  

注冊(cè)開(kāi)店

代理加盟

返回頂部