2010-06-02 72 views
12

我有一個asp.net應用程序,在搜索框中輸入特殊字符(如「:&#」)時出現一些問題。如果我在搜索框中輸入這個文本,我得到了這樣的異常。從客戶端檢測到潛在危險的Request.Form值

從客戶端檢測到有潛在危險的Request.Form值(txtValue =「:&#,」)。

然後我在網上搜索,我有一個這樣的一般解決方案,將validaterequest設置爲false。但是我的應用程序沒有改變。請幫我解決這個問題。任何迴應,將不勝感激。

+1

您究竟在哪裏設置了ValidateRequest? – EMP 2010-06-02 06:10:02

+0

<%@ Page ValidateRequest =「false」 – MAC 2010-06-02 06:12:33

+0

可能重複[從客戶端檢測到潛在危險的Request.Form值](http://stackoverflow.com/questions/81991/a-potentially-dangerous-request-form -value-was-detected-from-the-clients) – Burgi 2017-03-28 13:16:43

回答

21

添加含

<system.web> 
    <pages validateRequest="false" /> 
</system.web> 

一個web.config的目錄與有問題表單的頁面。

查看http://www.asp.net/learn/whitepapers/request-validation的完整說明。

如果您在使用asp.net 4.0中,您可以嘗試

<httpRuntime requestValidationMode="2.0" /> 

參見

+0

我也嘗試過這種方法..但是沒有改變 – MAC 2010-06-02 06:11:21

+0

嗯,在我所有的web應用程序中工作。你使用.net 2.0或以上?哪個OS? – marapet 2010-06-02 06:17:21

+0

.net 3.5和OS是服務器2003 IE8 – MAC 2010-06-02 06:38:05

15

逾期不大,但與協議那些說這個在web.config中是一個安全漏洞。

我用相關控制器上的[ValidateInput(false)]屬性來做。

ValidateInputSystem.Web.MVC發現MVC2