歡迎來(lái)到合肥浪訊網(wǎng)絡(luò)科技有限公司官網(wǎng)
  咨詢服務(wù)熱線:400-099-8848

表單提交檢測(cè)到有潛在風(fēng)險(xiǎn)request.form值,該怎么應(yīng)對(duì)?

發(fā)布時(shí)間:2022-10-03 文章來(lái)源:本站  瀏覽次數(shù):2301

網(wǎng)頁(yè)表單制作完成提交表單時(shí):從客戶端中檢測(cè)到有潛在風(fēng)險(xiǎn)的 request.form值,當(dāng)頁(yè)面修正或運(yùn)轉(zhuǎn)提交時(shí),呈現(xiàn)“從客戶端中檢測(cè)到有潛在風(fēng)險(xiǎn)的request.form值”問(wèn)題,該怎么辦呢?今日小編就和我們講解下應(yīng)對(duì)辦法:


問(wèn)題原因:由于在asp.net中,Request提交時(shí)呈現(xiàn)有html代碼或javascript等字符串時(shí),程序體系會(huì)以為其具有潛在風(fēng)險(xiǎn)的值。環(huán)境裝備會(huì)報(bào)出“從客戶端 中檢測(cè)到有潛在風(fēng)險(xiǎn)的Request.Form值”這樣的Error。


1、當(dāng)時(shí)提交頁(yè)面,添加代碼

翻開(kāi)當(dāng)時(shí).aspx頁(yè)面,頁(yè)頭加上代碼:validateRequest=”false”,如:


《%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="false" CodeFile="default.aspx.cs" Inherits="default" %》2、大局修正web.config裝備文件(此舉不主張、不安全)

翻開(kāi)web.config文件,在《system.web》《/system.web》中心,加上如下代碼:


《pages validateRequest="false" /》假如以上兩種辦法都無(wú)法解決,請(qǐng)接著往下看,


前面兩種辦法失效的原因:由于你當(dāng)時(shí)的.net ifreamwork結(jié)構(gòu)環(huán)境是4.0。由于4.0的驗(yàn)證在HTTP的BeginRequest前啟用,因此,請(qǐng)求的驗(yàn)證適用于一切ASP.NET資源,aspx頁(yè)面,ashx頁(yè)面,Web服務(wù)和一些HTTP處理程序等.


3、相同,翻開(kāi)web.config裝備文件,在《system.web》《/system.web》中心,加上代碼:


《httpRuntime requestValidationMode="2.0" /》4、假如你的網(wǎng)站程序本身是net 2.0環(huán)境開(kāi)發(fā)的,但放到了VS2010軟件里運(yùn)轉(zhuǎn),也會(huì)呈現(xiàn)這種狀況,你能夠把運(yùn)轉(zhuǎn)解決方案切換成net2.0即可,更換辦法詳見(jiàn)頁(yè)面第3步:點(diǎn)擊進(jìn)入


5、另一種處理辦法:原因是所傳值含有特別風(fēng)險(xiǎn)符號(hào),那么能夠在傳前,利用Server.HtmlEncode(string)辦法,對(duì)字符串進(jìn)行編碼,這樣就會(huì)將風(fēng)險(xiǎn)字符轉(zhuǎn)義為一般的字符。如TextBox1.Text=Server.HtmlEncode(str);

上一條:Meta標(biāo)簽中網(wǎng)站內(nèi)容描...

下一條:手把手教您怎么樹(shù)立手機(jī)網(wǎng)...