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
助言がありますか?
<httpRuntime requestValidationMode="2.0"/>
この後追加
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
mvc3にもAllowHtml属性があります
[AllowHtml]
public string Property{ get; set; }
ここにいくつかの便利なリンクがあります
ASP.NETに組み込まれている更新された要求バリデーターを利用する.NET4.5を実行している場合は、 この回答 を参照してください。
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 %>
またはかみそりで:
@Model.Something
場合によってはJavascriptで:
@Html.Raw(Ajax.JavaScriptStringEncode(Model.Something))
ASP.NET:潜在的に危険なRequest.Form値がクライアントから検出されました に従って、両方の構成をsystem.webセクションにまとめることができます。
これは標準のASP.NET機能であることに注意してください。 WIFには接続されていません。