.net的ValidateRequest 属性

.net的ValidateRequest 属性ValidateRequest属性转载 2009年10月17日12:44:00标签:html /asp.net /正则表达式 /设计模式 /公告 /c#1220               在ASP.NET1.1中,@Page指令上的ValidateRequest属性被打开后,将检查以确定用户没有在查询字符串、Cooki

大家好,又见面了,我是你们的朋友全栈君。

ValidateRequest 属性

转载 
2009年10月17日 12:44:00

                在 ASP.NET 1.1 中,@Page 指令上的 ValidateRequest 属性被打开后,将检查以确定用户没有在查询字符串、Cookie 或表单域中发送有潜在危险性的 HTML 标记。如果检测到这种情况,将引发异常并中止该请求。该属性默认情况下是打开的;您无需进行任何操作就可以得到保护。如果您想允许 HTML 标记通过,必须主动禁用该属性。
  <%@ Page ValidateRequest=”false” %>
ValidateRequest不是 万能的药方,无法替代有效的验证层。

  没有任何关闭 ValidateRequest 的理由。您可以禁用它,但必须有非常好的理由;其中一条这样的理由可能是用户需要能够将某些 HTML 张贴到站点,以便得到更好的格式设置选项。这种情况下,您应当限制所允许的 HTML 标记(<pre>、<b>、<i>、<p>、<br>、<hr>)的数目,并编写一个正则表达式,以确保不会允许或接受任何其他内容。

以下是一些有助于防止 ASP.NET 遭受 XSS 攻击的其他提示:

? 使用 HttpUtility.HtmlEncode 将危险的符号转换为它们的 HTML 表示形式。 
 
? 使用双引号而不是单引号,这是因为 HTML 编码仅转义双引号。 
 
? 强制一个代码页以限制可以使用的字符数。 
 


总之,使用但是不要完全信任 ValidateRequest 属性,不要太过懒惰。花些时间,从根本上理解 XSS 这样的安全威胁,并规划以一个关键点为中心的防御策略:所有的用户输入都是危险的。

 

自我总结语:

 

通常用于:当发布公告等信息时,加入了第三方编辑器的情况之下,提交数据时,一定要禁止该属性<%@ Page ValidateRequest=”false” %>
如果在1.0版本中webconfig不支持该代码,则应针对每个页面进行设置.

你只需要在那一页的HTML设计模式下把validateRequest=”false”添加到Page命令中即可,例如:   
  <%@   Page   language=”c#”   Codebehind=”RoleDepart.aspx.cs”   AutoEventWireup=”false”   Inherits=”roleManage.RoleDepart”   validateRequest=”false”%>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139521.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • DNS 负载均衡、硬件负载均衡和软件负载均衡[通俗易懂]

    DNS 负载均衡、硬件负载均衡和软件负载均衡[通俗易懂]当单服务器的性能无法满足业务需求时,就需要设计高性能集群来提升系统整体的处理性能。高性能集群的复杂性主要体现在需要增加一个任务分配器,以及为任务选择一个合适的负载均衡器。负载均衡不只是为了计算单元的负载达到均衡状态,他依据分配算法目标,有的基于负载考虑,有的基于性能(吞吐量、响应时间)考虑,有的基于业务考虑。DNS负载均衡DNS是最简单也是最常见的负载均衡方式,一般用来实现地理级别…

    2022年7月14日
  • Linux中安装Apache服务器,并进行必要的测试_怎么安装apache

    Linux中安装Apache服务器,并进行必要的测试_怎么安装apache一般Linux系统中自带apache版本,但是用这个自带的版本启动时,就会出现端口被占用等各种问题,因为自带的apache版本都比较低,所以首先查看Linux中是否已有安装的低版本的apache,如果有先卸载,然后再安装。本文用的Linux是CentOS6.5版本。一、卸载apache已安装的软件包1、命令rpm-qa|grephttpd,查看系统中…

    2022年9月21日
  • python多行注释出错_解决python多行注释引发缩进错误的问题

    python多行注释出错_解决python多行注释引发缩进错误的问题如下所示:m_start=date+’09:00’m_end=date+’13:00’rsv_1={‘act’:’set_resv’,’dev_id’:dev_id,’start’:m_start,’end’:m_end,}”’rsv_2={‘_’:”,’act’:’set_resv’,’dev_id’:dev_id,’start’:’2018-05-2113:00′,’en…

    2022年10月30日
  • MinGW32和64位交叉编译环境的安装和使用「建议收藏」

    MinGW32和64位交叉编译环境的安装和使用原文出处: CompileGraphicsMagick,Boost,BotanandQTwithMinGW64underWindows764 http://www.kineticsystem.org/?q=node/191安装MSYS从下面的地址下载并运行:mingw-get-inst-20120426.exehttp://so

    2022年4月8日
  • navicat for mysql如何导入sql文件_excel怎么把0显示出来

    navicat for mysql如何导入sql文件_excel怎么把0显示出来NavicatforMySQL导入excel文件_水里的鱼不会羡慕陆地爬行的动物-CSDN博客NavicatforMySQL是连接数据库的工具,可以更好地管理数据库。1.先连接连接名和主机名都是IP,本地连接名和主机名是localhost或127.0.0.1。-2.创建数据库及表表已经创建好了接下来就将含有学生信息的class.xls表导入到message表中2.1点击导入向导2.2表中我的数据放在sheet12.3这里我从第二行…

    2022年9月17日
  • 幸福课第11讲_笔记

    幸福课第11讲_笔记11例行公事1.身体反馈假说2.没有更多的自律3.认知重建4.总结:如何成为成功人士,专家5.日记知道我们为什么要考试吗?—为了让你主动去整合我们之前学过的东西,这个课每节之间有联系的,你要去总结身体反馈假说理论:你在和你自己交流,通过伪造行为上的笑等–你的思想也和其保持一致实验:内向男144分钟聊天—(异性在男生不知觉该实验的情况下,主动谈笑风生12分钟x6个x2次…

    2022年7月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号