基础小知识

ValidateRequest属性是Page类中比较常用的属性,用来指示是否对输入数据进行潜在危险性检查。在默认情况下为True,就是表示 “是对输入的数据进行潜在危险性检查”,这个属性会对页面提交到服务器的数据进行潜在危险性检查,那么为什么需要进行潜在危险性检查呢?

其实可以把ValidateRequest看作是一种安全机制,它可以防止一些代码对于客户端的不安全侵害,大家都知道服务器连接的不可能只是一台 计算机,只要能访问到它域名的都能进行访问,所以对于服务器的安全性把关是很重要的,所以有个ValidateRequest属性,但是有人问既然这个属 性关系到安全,为什么还要让开发人员自行选择是否进行安全检测?

现在很多项目中都有那种在线编辑器,所见所得能更好的节省时间来编写项目,当需要这样做的时候,页面的ValidtaeRequest属性就必须为Flase,否则提交过去就报安全问题了,更不用说能看到这个代码的效果了。

现在大家估计用的最多的还是VS2005和VS2008,前几天我下载了个VS2010旗舰版试用,VS2008的 一个安装文件大概有4.2G左右,而VS2010旗舰版才2.5G左右,不仅容量缩小了,在一些不安全不稳定的属性上也不在支持,当时我在Page指令中 设定了 ValidateResquest=false,然后Ctrl+F5启动页面,在页面拖过来的TextBox文本框中输入<script>, 然后利用服务器端的Button提交,页面就会报错,如图

 

它说从客户端(TextBox1="<script></script>") 中检测到有 潜在危险的Request.Form值,也就是说表单提交信息中有不安全的信息,眼力好的朋友或许可以看到我已进在Page中添加了 ValidateResquest="false",而且还添加了Debug="true",看下只添加 ValidateResquest="false"的一个报错页面,如图

以上的图是只添加了ValidateResquest="false"这个属性值之后运行的报错页面,然后页面给出 了2个建议,1 就是在Page中添加Debug="true"这个属性值,那我们跟着它的指示来做,我们在Page中添加了Debug="true"之后在运行还是报 错,如图

以上的图是添加了Debug="true"属性值之后的报错页面,那 么如何在ValidateResquest="false"和Debug="true"都无用情况下使页面不检测安全信息问题呢?其实大家都知道2010 能打开2008或2005制作的项目,那就是向下兼容,那么我们就利用向下兼容的原则来破解掉使页面不检测安全信息这个问题,ASP.NET允许我们通过 在web.config中配置,使用ASP.NET 2.0的请求验证行为:<httpRuntime requestValidationMode=”2.0″ /> ,这样页面再次提交就不会报错了,如图

VS2005和2008布局几乎一样,但是在VS2010中的布局起了很大的变化,VS2010中的一大亮点就是 加入了MVC2,这个东东还真的很强大,我只能叹息微软的复刻能力太强大了,自从Java推出了MVC以来得到了众多软件开发工程师的追捧,微软自然不甘 落后,也在2010中推出了MVC2,使项目的层次结构更清晰,合作开发起来更出色,VS2010默认是.Net Framework 4,并且兼容之前 的所有版本。

最新文章

  1. (2)从实际项目谈起,基于MEF的插件框架之总体设计
  2. [转]设计模式之六大原则——开闭原则(OCP)
  3. Touch ID集成
  4. mac下安装应用及常用快捷键
  5. Beta Round #9 (酱油杯noi考后欢乐赛)最大伤害
  6. 关于set或map的key使用自定义类型的问题
  7. 带中文索引的ListView 仿微信联系人列表
  8. (转) Functions
  9. BZOJ 3672: [Noi2014]购票( 树链剖分 + 线段树 + 凸包 )
  10. 基于HTTP协议下载文件的实现
  11. sql语句实现累计数
  12. 高性能网络IO模型
  13. 在IE浏览器进行编辑操作再展示出现乱码问题
  14. 通过css3实现的动画导航菜单代码
  15. css零碎知识点小结
  16. 【Gradle】Gradle在IDEA中的使用
  17. jq回车触发绑定点击事件
  18. Python之路(第七篇)Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数
  19. WCF 基于 WinForm 宿主 发布
  20. 找到SVN版本机上项目的地址

热门文章

  1. C#学习 第十节
  2. TensorFlow+实战Google深度学习框架学习笔记(11)-----Mnist识别【采用滑动平均,双层神经网络】
  3. input标签处理多文件上传
  4. 实现el-dialog的拖拽,全屏,缩小功能
  5. nyoj92-图像有用区域【BFS】
  6. Dubbo&amp;Zookeeper运行原理
  7. @Autowired @Resource @Inject 自动注入
  8. nodejs-函数
  9. Vijos——T 1016 北京2008的挂钟 || 洛谷—— P1213 时钟
  10. [Beginning SharePoint Designer 2010]Chapter2 编辑页面