2014-11-12 3 views
0

это исключениепотенциально опасное значение Request.Form было обнаружено от клиента

System.Web.HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (ctl00$ContentPlaceHolder1$txtCodeFormate="<a href="%%strpath%%..."). 
    at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) 
    at System.Web.HttpRequest.ValidateHttpValueCollection(HttpValueCollection collection, RequestValidationSource requestCollection) 
    at System.Web.HttpRequest.get_Form() 
    at System.Web.HttpRequest.get_HasForm() 
    at System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) 
    at System.Web.UI.Page.DeterminePostBackMode() 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 
    at System.Web.UI.Page.ProcessRequest() 
    at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) 
    at System.Web.UI.Page.ProcessRequest(HttpContext context) 
    at ASP.ccadmin_cms_setup_aspx.ProcessRequest(HttpContext context) 
    at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

До сих пор я попытался следующие варианты,

<httpRuntime targetFramework="4.5" requestValidationMode="2.0" /> 
<pages validateRequest="false" enableEventValidation="false"></pages> 

FYI, его прекрасно работать в местном, но когда я развертываю его на сервере, он не работает должным образом, Нужно ли мне что-то работать в IIS?

ответ

3

Я верю в ваш вопрос со всеми вариантами ответа https://stackoverflow.com/a/17258129/1849444.

Вы можете попробовать следующее после изменения Web.config?

Вариант 1: На модели добавить этот атрибут для каждого свойства, что вам нужно, чтобы позволить HTML - лучший выбор

[AllowHtml] 

Вариант 2: На действия контроллера добавить этот атрибут, чтобы весь HTML

[ValidateInput(false)] 
+0

Но это веб-формы ASP.NET, как я могу использовать эти атрибуты на страницах ASPX? –

+0

Здесь [link] (http://stackoverflow.com/a/16590834/1849444) они говорят, что проблема заключается в том, что вы используете 'targetFramework =" 4.5 "'. Можете ли вы перейти на «4.0» и попробовать еще раз? Или это важно для вас использовать '4.5'? –

+1

Нет, для одной страницы я не могу нацелить целое приложение на 4.0 framework –