System.Web.HttpRequestValidationException——从客户端检测到危险的Request值
2024-10-16 21:37:30
这是比较常见的问题了,如果Web表单中有输入类似于Html标签之类的文本,在通过Request.QueryString或者Request.Form传递这些值的时候,就会触发这样的异常,出于脚本注入等安全性考虑,这也是合情合理的。
一般情况下,程序应尽量过滤掉,或者禁止表单上类似的输入,如果业务上非得有这样的要求,需要输入标签性的文本,可以考虑在数据向服务器端传递前,将一些敏感字符按照约定规则替换掉,向客户端输出时,再还原出原始文本。
以上是个人认为比较正确的做法,当然就解决眼前问题而言,我看到的都是偷懒的、不计后果的做法,我得承认自己是个只要有偷懒的可能就绝不肯多费功夫的家伙,那就来吧,如果是Asp.Net WebForm应用程序,我记得以前好像在哪里写过,就是在aspx文件的page指令上添加ValidateRequest=false 属性值,这是对单一表单的做法,要想作用于更广泛的Web表单,自然是在webconfig文件中做相同的设置。另外,如果是Asp.Net MVC应用程序,则需要在webconfig的<system.web>配置节中加上<httpRuntimerequestValidationMode="2.0"></httpRuntime>配置,之后,再在Controller或者Action头上添加[ValidateInput(false)]的标识,区别大家知道的,作用域不同而已,这里说的Asp.Net MVC是基于Framework4.0的环境的,Framework3.5下没试过,想来差不多。
最新文章
- Python中对时间日期的处理方法简单汇总
- 在IIS Express中调试时无法读取配置文件 错误
- java项目调用kettleJob和Trans
- Java--Spring AOP 源码散点记录(最后整理成一篇博客)
- JavaScript引用方法说明
- HDU-1561 The more, The Better (树形DP+分组背包)
- python中文输出和写入文本
- CentOS 系统配置完jdk,tomcat mysql,nginx 项目发布步骤
- ASP.NET WebForm中前台代码如何绑定后台变量
- 在Code first中使用数据库里的视图
- [Git] Automatically running tests before commits with ghooks
- 软件工程wc项目,基于py
- CodeForces - 1040B Shashlik Cooking(水题)
- CLR via c# 值类型“不可变”
- 洛谷P5020货币系统
- django---APIView源码分析
- .NET本质论 类型基础
- NPOI操作Excel文件
- JAR,WAR,EAR区别
- Number &; Math
热门文章
- 【转】IOS屏幕旋转与View的transform属性之间的关系,比较底层
- iOS-多线程--(pthread/NSThread/GCD/NSOperation)--总结
- linux NFS服务器安装与配置 思路
- java中使用split分割字符串一个有趣的现象
- 菜鸟程序员之Asp.net MVC Session过期异常的处理
- 用java程序输出自己的姓名
- DataTable转List<;Model>;通用类
- jquery实践案例--验证电子邮箱
- 续Gulp使用入门编译Sass
- UVALive 6073 Math Magic