从客户端检测到有潜在危险的Request.Form值
从客户端检测到有潜在危险的Request.Form值
从客户端检测到有潜在危险的Request.Form值
解决方案一:
在.aspx文件头中加入这句:
<%@ Page validateRequest="false" %>
解决方案二:
修改web.config文件:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因为validateRequest默认值为true。只要设为false即可。
解决方案三:
当然,这样只能是让界面好看一些,要想抵制注入,还得从过滤上做足功夫。
然后,还是有不禁用validateRequest的方法的
正确的做法是在你当前页面添加Page_Error()函数,来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信息。如果当前页面没有Page_Error(),这个异常将会送到Global.asax的Application_Error()来处理,你也可以在那里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数,才会显示这个默认的报错页面呢。
举例而言,处理这个异常其实只需要很简短的一小段代码就够了。在页面的Code-behind页面中加入这么一段代码:
protected void Page_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if (ex is HttpRequestValidationException)
{
Response.Write("请您输入合法字符串。");
Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。
}
}
解决方案四:
在Global.asax文件的Application_Error()来处理。这样在整个网站中都生效。
void Application_Error(object sender, EventArgs e)
{
// 在出现未处理的错误时运行的代码
Exception ex = Server.GetLastError();
if (ex is HttpRequestValidationException)
{
Response.Write("请您输入合法字符串。");
Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。
}
}
五、MVC中解决方案:
1.在页面aspx中
<%@ Page ValidateRequest="false" >
2.在controller中action添加
[ValidateInput(false)]
public ActionResult Edit()
{
this.ValidateRequest = false;
retrun View();
}
3.在网站web.config
<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
原因是:在.net 4.0 环境下请求验证范围扩大到所有请求。从BeginRequest阶段就开始HttpRequest,不仅仅是页面文件(.aspx),还包含webservice以及http Handlers。
- Request、Request.Form、Request.QueryString的区别
- 从客户端检测到有潜在危险的Request.Form值
- 吴彦祖陈冠希 恩怨 ,失去曾让他流泪的女友,终遇走过18年真爱(吴彦祖陈冠希恩怨)
- 痴情男神 吴彦祖 与妻子恋爱8年,结婚10年,家庭幸福美满(痴情男神吴彦祖)
- 成功破圈,小牛电动SQi强势开 跨(小牛电动SQi强势开)
- 挑战新国标电自天花板,九号机械师MMAX 110P深度体验(挑战新国标电自天花板)
- 《满江红》不要只当电影看,学生应该这样做(满江红不要只当电影看)
- 电影《民间怪谈录之走阴人》定档8月5日,开启一场中式惊悚之旅(电影民间怪谈录之走阴人定档8月5日)
热门推荐
- css3设置过渡效果(CSS3 media queries + jQuery实现响应式导航)
- dockerexec参数详解(docker安装pxc集群的详细教程)
- pandas数据分组后的处理(详解pandas如何去掉、过滤数据集中的某些值或者某些行?)
- jquery中append和appendto的区别
- python零基础入门详细教程(Python零基础入门学习之输入与输出)
- 安卓app开发用什么设计ui(AmazeUI框架搭建的方法步骤图文)
- VPS服务器常用性能测试脚本汇总(VPS服务器常用性能测试脚本汇总)
- mysql的日志怎么清除(MySQL删除了记录不生效的原因排查)
- css3颜色详解(CSS3混合模式mix-blend-mode/background-blend-mode简介)
- dedecms语法教程(dedecms 获取描述信息限制字数的语法)