作者为朋友做一个物流网站时,发现:当页面编辑或运行提交时,出现“从客户端中检测到有潜在危险的request.form值”问题,该怎么办呢?如下图所示:
解决方案如下:
(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框架环境是2.0以上的版本,调成2.0即可以。
(3)同样,打开web.config配置文件,在<system.web></system.web>中间,加上代码:
<httpRuntime requestValidationMode="2.0" />
(4)如果你的网站程序本身是net 2.0环境开发的,但放到了VS2010软件里运行,也会出现这种情况,你可以把运行解决方案切换成net2.0即可 ,点visual studio 2010 菜单----"项目"-----"项目名+属性",如图所示。
(5)另一种处理方法:原因是所传值含有特殊危险符号,那么可以在传前,利用Server.HtmlEncode(string)方法,对字符串进行编码,这样就会将危险字符转义为普通的字符。如TextBox1.Text=Server.HtmlEncode(str);
本文转自成杭 51CTO博客,原文链接:http://blog.51cto.com/hangtc/1768014,如需转载请自行联系原作者