我正在为特定需求构建脚注编辑器,我需要一个显示特殊字符的滴定列表,例如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