公司系统从Asp.net 2.0升级到Asp.net 4.0 时,部分页面出现A potentially dangerous Request.Form value was detected from the client的错误.
查找发现原因是由于用户在textbox输入了类似Html的标记如:<xml>.
在网上找到如下的方案解决,
用户在页面上提交表单到服务器时,服务器会检测到一些潜在的输入风险,例如使用富文本编辑器控件(RichTextBox、FreeTextBox、CuteEditor等)编辑的内容中包含有HTML标记或脚本标记,ASP.NET页面会抛出一个"A potentially dangerous Request.Form value was deceted from the client"的异常。这个是ASP.NET页面为了防范页面注入功能的一种保护机制,要取消这种保护,常规的做法是在.aspx文件的<%@Page %>部分加入ValidateRequest="false"属性。但是从.NET 4.0开始你可能需要多修改一个地方,在网站的web.config文件中加入这行配置:
<span style="font-size:18px;"><system.web>
<compilation debug="true" targetFramework="4.0"/>
<httpRuntime requestValidationMode="2.0"/>
</system.web>
</span>
同时,你还需要确保页面上用户输入的部分不会存在任何注入攻击的代码,常用的做法是使用Encode处理。
ASP.NET 4.0升级中解决潜在危险请求表单值检测错误
本文探讨了在将公司系统从Asp.net2.0升级到Asp.net4.0时遇到的ApotentiallydangerousRequest.Formvaluewasdetectedfromtheclient错误,解释了原因并提供了解决方案,包括在.aspx文件的<%@Page%>部分加入ValidateRequest="false"属性,并在网站的web.config文件中进行相应配置,同时强调了确保页面上用户输入部分的安全性。
5902

被折叠的 条评论
为什么被折叠?



