Подтвердить что ты не робот

Потенциально опасное значение Request.Form было обнаружено у клиента (wresult = "<trust: RequestSecuri..." )

Я также получаю ошибку проверки запроса при использовании WIF. Я правильно отправляюсь в STS, но на обратном пути я получаю эту ошибку проверки.

Я выполнил все инструкции.

<httpRuntime  requestValidationMode="2.0" />

проверить!

    [ValidateInput(false)]

проверить!

<pages validateRequest="false" >

проверить!

Я попробовал собственный валидатор, но он никогда не создается.

Стек ошибки:

[HttpRequestValidationException (0x80004005): A potentially dangerous Request.Form value was detected from the client (wresult="trust:RequestSecuri...").]
   System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection) +11396740
   System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, RequestValidationSource requestCollection) +82
   System.Web.HttpRequest.get_Form() +212
   Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.IsSignInResponse(HttpRequest request) +26
   Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.CanReadSignInResponse(HttpRequest request, Boolean onPage) +145
   Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs args) +108
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +270

Любые предложения?

4b9b3361

Ответ 2

См. этот ответ, если вы используете .NET 4.5, который использует обновленный шаблон проверки запроса, встроенный в ASP.NET.

Ответ 4

В MVC 3 (не уверен около 2) вы можете добавить глобальный фильтр в global.asax.cs, например.

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new ValidateInputAttribute(false));
}

Это в совокупности со следующим должно включать все данные и отображать их правильно и безопасно, я думаю:

<httpRuntime encoderType="Microsoft.Security.Application.AntiXssEncoder, AntiXssLibrary"/>

в web.config и используя (примечание двоеточие):

<%: Model.Something %>

или в Razor:

@Model.Something

и в некоторых случаях в Javascript:

@Html.Raw(Ajax.JavaScriptStringEncode(Model.Something))