特殊字符原因"A potentially dangerous Request.Form value"



我正在为特定需求构建脚注编辑器,我需要一个显示特殊字符的滴定列表,例如dagger(&#134)。不确定是否重要,但是下降列表为AJAX模式弹出式表单。每当我尝试显示弹出表单时,我都会得到错误" 潜在的危险请求。strong>"

我尝试添加 < httpruntime requestValidationMode =" 2.0"/>到web.config文件。

在这种情况下,我如何显示一个特殊的角色,而不会出现此错误?

您可以在相应WebForm的页面标题上设置validateRequest属性以禁用请求验证并允许发布HTML字符:

<%@ Page validateRequest="false" %>

这也可以为Web.config中的所有WebForms全球完成:

<pages validateRequest="false" />

这是MSDN上的an article,您可以在ASP.NET中阅读有关请求验证的更多信息。

您可以禁用palidaterequest属性,但[非常重要!]请使用像Antixs这样的库来消毒您的输入,例如:

http://wpl.codeplex.com/

否则,您将容易受到输入攻击(注射,XS等)

实际上,您的请求"潜在危险"的原因是因为运行时认为有人试图注入一些HTML,这就是为什么您不能插入&lt;bla>

禁用ASP.NET请求验证功能。为此,在网页的.aspx文件中,设置此处显示的页面validatereQuest设置。

<%@ Page ValidateRequest="false"%>

替代,在Web应用程序的Web.config文件中,将部分的validatereQuest属性设置为false。

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

来源:http://msdn.microsoft.com/en-us/library/ee517280.aspx

最新更新