.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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HttpCanary下载_Http是

    HttpCanary下载_Http是前言首先,我们无论学习哪个框架,都要带着问题,带着思考去学习思考1:HttpRunner是什么?思考2:HttpRunner的设计模式是什么?思考3:为什么我们要学习HttpRunner?他的

    2022年7月29日
    10
  • navicat激活码3月最新在线激活

    navicat激活码3月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    47
  • oracle删除锁表_oracle清理数据文件

    oracle删除锁表_oracle清理数据文件查看Oracle数据库被锁住的表,删除锁表的进程–1.查看被锁住的表SELECTdob.object_nametable_name,lo.locked_mode,lo.session_id,vss.serial#,vss.actionaction,vss.osuserosuser,vss.logon_time,vss.processap_pid,

    2022年8月23日
    6
  • scikit-learn : LARS[通俗易懂]

    scikit-learn : LARS[通俗易懂]LARS正则化斯坦福大学的BradleyEfron,TrevorHastie,IainJohnstone和RobertTibshirani发现了LARS(LeastAngleRegression,最小角回归)它借用了威廉·吉尔伯特·斯特朗(WilliamGilbertStrang)介绍过的高斯消元法(Gaussianelimination)的灵感。背景LARS是一种回归手段,适

    2022年6月24日
    31
  • windows操作系统定时关机和取消定时关机命令

    windows操作系统定时关机和取消定时关机命令windows操作系统定时关机和取消定时关机命令1、定时关机shutdown-s-t60(60表示定时60秒)2、取消定时关机shutdown-a(取消定时关机)…

    2022年5月15日
    48
  • 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器

    数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器第1章 引言        随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库:可…

    2022年6月13日
    23

发表回复

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

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