从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法相关的知识,希望对你有一定的参考价值。

我按照下面的方法试了,没的效果!

解决方案一:
在.aspx文件头中加入这句:
<%@ Page validateRequest="false" %>
解决方案二:
修改web.config文件:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因为validateRequest默认值为true。只要设为false即可。

兄弟;我解决了;
web.config里面加上这个
一定要加对地方哦;
<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
参考技术A 上面两种方法是有效的。
另外如果要发送带html标记的内容,建议使用web编辑器,例如 FCKeditor

参考资料:http://www.newseo.com.cn/

参考技术B 我不会啊

从客户端中检测到有潜在危险的 request.form值[解决方法]

当页面编辑或运行提交时,出现“从客户端中检测到有潜在危险的request.form值”问题,该怎么办呢?如下图所示:
技术分享

下面博主汇总出现这种错误的几种解决方法:
问题原因:由于在asp.net中,Request提交时出现有html代码或javascript等字符串时,程序系统会认为其具有潜在危险的值。环境配置会报出“从客户端 中检测到有潜在危险的Request.Form值”这样的Error。
1、当前提交页面,添加代码
打开当前.aspx页面,页头加上代码:validateRequest=”false”,如:

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

2、全局修改web.config配置文件(此举不建议、不安全)
打开web.config文件,在<system.web></system.web>中间,加上如下代码:

<pages validateRequest="false" />

如果以上两种方法都无法解决,请接着往下看,

问题原因:由于你当前的.net ifreamwork框架环境是4.0

3、同样,打开web.config配置文件,在<system.web></system.web>中间,加上代码:

<httpRuntime requestValidationMode="2.0" />

4、如果你的网站程序本身是net 2.0环境开发的,但放到了VS2010软件里运行,也会出现这种情况,你可以把运行解决方案切换成net2.0即可,更换方法详见页面第3步:点击进入

5、另一种处理方法:原因是所传值含有特殊危险符号,那么可以在传前,利用Server.HtmlEncode(string)方法,对字符串进行编码,这样就会将危险字符转义为普通的字符。如TextBox1.Text=Server.HtmlEncode(str);

了解更多,参考微软网页:http://www.asp.net/whitepapers/request-validation

后面发现原来3年前,对此问题解决方法有过简要总结,不过没这么全面,看来经历可以让人成长是没错的,有总结此问题文章:VS2005调试问题解决方案集锦

本博文章基本上属于原创或收集整理,都是心血结晶。
欢迎转载分享,转载请注明出处,谢谢!
本文地址:从客户端中检测到有潜在危险的 request.form值[解决方法]

以上是关于从客户端(...)中检测到有潜在危险的Request.Form 值的处理办法的主要内容,如果未能解决你的问题,请参考以下文章

从客户端中检测到有潜在危险的 request.form值[解决方法]

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

"从客户端中检测到有潜在危险的 Request.Form 值"的解决方案汇总

处理从客户端中检测到有潜在危险的 Request.Form值

从客户端中检测到有潜在危险的 request.form值[解决方法]

异常记录MVC:从客户端中检测到有潜在危险的 Request.Form 值 的解决方法 [转]