从客户端中检测到有潜在危险的 request.form值


做asp.net 的网站,貌似不可以避免 会出现这个问题。 这个问题很好解决,但是总有人老是来问怎么解决。。。

有一堆asp.net 2.0 的网站,因为网管或其他原因,将这些网站的.net运行环境从2.0 变成了 4.0 ,结果 都出现了这个错误。然后就没有然后了。!

方法归纳:

1,对于asp.net web forms 的网站, .net 环境是 2.0 的,在对应的页面 页头上 加上 validateRequest=”false” ,

<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="false" CodeFile="default.aspx.cs" Inherits="default" %>

全局方法: 在 web.config 文件 system.web 节下的  pages 这一行 加入  validateRequest="false"  。

如果运行环境是 .net 4.0 ,还需要 在 web.config 文件 system.web 节下的  httpRuntime 这一行加入 requestValidationMode="2.0"  。

<system.web>
    <pages validateRequest="false"></pages>
    <httpRuntime  requestValidationMode="2.0" />
</system.web>

2,对于 asp.net mvc 的网站,只需要在 对应的字段名称上 标记 [AllowHtml] 就可以了