gpt4 book ai didi

asp.net - 请求验证模式 4.5 与 2.0

转载 作者:行者123 更新时间:2023-12-02 11:39:50 24 4
gpt4 key购买 nike

requestValidationMode="4.5"和 requestValidationMode="2.0"之间有区别吗?我有一个 .net 4.5 应用程序,有一个我不想验证的控件,因为用户可以在以下位置输入 html 标签:

<asp:TextBox ID="txtTitle" runat="server" ValidateRequestMode="Disabled" />

在我的 web.config 中我有:

<compilation debug="true" strict="false" explicit="true" targetFramework="4.5">...</compilation> 
<httpRuntime targetFramework="4.5" requestValidationMode="2.0" />

最初我设置了 requestValidationMode="4.5"但这不起作用,我仍然会收到有关标签的错误 - “从客户端检测到潜在危险的 Request.Form 值...”提交表格。但是,如果我将其设置为 requestValidationMode="2.0",它就可以工作,我可以点击 PageLoad 并对该字段中的值进行编码。

最佳答案

是的,两者之间是有区别的。任何指定为 4.0 或以上的 requestValidationMode 将使用 4.0 方式,任何指定为 4.0 以下的 requestValidationMode 将使用 2.0 方式。下面是两者的说明:

http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.requestvalidationmode.aspx

4.0(默认值)。 HttpRequest 对象在内部设置一个标志,指示每当访问任何 HTTP 请求数据时都应触发请求验证。这保证了在请求期间访问 cookie 和 URL 等数据之前触发请求验证。配置文件中的pages元素(如果有)或单个页面中的@Page指令的请求验证设置将被忽略。

2.0。仅对页面启用请求验证,不适用于所有 HTTP 请求。此外,配置文件中的pages元素(如果有)或单个页面中的@Page指令的请求验证设置用于确定验证哪些页面请求。

请注意:还有其他解决方案,因为您使用的是 ASP.NET 4.5,您可能希望在每个控件级别上进行验证,这样您可以将 web.config 中的 requestValidationMode 属性保留为 4.5 并仅在需要它的控件上更改它。 http://msdn.microsoft.com/en-us/library/system.web.ui.control.validaterequestmode.aspx

关于asp.net - 请求验证模式 4.5 与 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16590032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com