.NET后台无法发布(修改)内容

从客户端(ctl00$masterContainer$txtContent=”<img src=”/upload/20…”)中检测到有潜在危险的 Request.Form 值。说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击。若要允许页面重写应用程序请求验证设置,请将 httpRuntime 配置节中的 requestValidationMode 特性设置为 requestValidationMode=”2.0″。示例: <httpRuntime requestValidationMode=”2.0″ />。设置此值后,可通过在 Page 指令或 <pages> 配置节中设置 validateRequest=”false” 禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkId=153133。

异常详细信息: System.Web.HttpRequestValidationException: 从客户端(ctl00$masterContainer$txtContent=”<img src=”/upload/20…”)中检测到有潜在危险的 Request.Form 值。

解决方法如下:

方法一:

修改Web.Config文件:
<configuration>
<system.web>
<pages   validateRequest=”false”   />
</system.web>
</configuration>

方法二:

修改Web.Config文件:

<system.web>
<compilation debug=”true” targetFramework=”4.0″ />
<httpRuntime requestValidationMode=”2.0″ />
</system.web>

在.aspx页面中添加:
<%@   Page   validateRequest=”false”   %>

讲解:

PagesSection.ValidateRequest 属性

注意:此属性在 .NET Framework 2.0 版中是新增的。

获取或设置一个值,该值确定 ASP.NET 是否针对危险值检查来自浏览器的输入。

命名空间:System.Web.Configuration
程序集:System.Web(在 system.web.dll 中)

在此将此属性禁用即可。

 

出现这个问题,一般是由于.Net Framework 使用了4.0版本造成的。(从 .Net Framework 4.0 开始,ASP.NET开始强制检测Request参数安全),而我们可以通过修改 Web.config 来恢复 2.0 版本的模式。
方法如下:
修改Web.config,增加requestValidationMode=”2.0″属性值

.net

<httpRuntime maxRequestLength=”2097151″ executionTimeout=”3600″ requestValidationMode=”2.0″ />

分享到:

发表评论

沙发空缺中,还不快抢~