ValidateRequest 属性[通俗易懂]

ValidateRequest 属性[通俗易懂]               在ASP.NET1.1中,@Page指令上的ValidateRequest属性被打开后,将检查以确定用户没有在查询字符串、Cookie或表单域中发送有潜在危险性的HTML标记。如果检测到这种情况,将引发异常并中止该请求。该属性默认情况下是打开的;您无需进行任何操作就可以得到保护。如果您想允许HTML标记通过,必须主动禁用该属性。  Valida

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

                在 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/132688.html原文链接:https://javaforall.net

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


相关推荐

  • 正则提取字符串中的数字_正则表达式忽略空格python

    正则提取字符串中的数字_正则表达式忽略空格pythonpython从字符串中提取数字使用正则表达式,用法如下:##总结##^匹配字符串的开始。##$匹配字符串的结尾。##\b匹配一个单词的边界。##\d匹配任意数字。##\D匹配任意非数字字符。##x?匹配一个可选的x字符(换言之,它匹配1次或者0次x字符)。##x*匹配0次或者多次x字符。##x+匹配1次或者多次x字符。…

    2022年10月3日
    0
  • hg261gu改桥接设置_HG220G_u光猫是千兆的吗

    hg261gu改桥接设置_HG220G_u光猫是千兆的吗背景最近换了光纤,装了光猫,型号是HG220GS-U,软件版本E00L3.01。改光猫自带wifi功能,和路由器一样,经过简单的设置就可以上网了。本来用的挺好,但是家里电子设备不少,后来发现ipad不能上网了。猜测有可能是光猫连接数量有限制。另外,以后打算在家里搭建NAS,免不了要桥接,正好一次性完成。教程在网上找了一圈,发现HG220的教程不少,但是HG220GS-U的基本没有。好多教程还…

    2022年10月8日
    0
  • 关于搭建appium – ios真机环境

    关于搭建appium – ios真机环境

    2021年6月20日
    124
  • java全局变量的定义和声明_定义全局变量的方法

    java全局变量的定义和声明_定义全局变量的方法JAVA全局变量(或称成员变量)可分两种,一种是静态变量,另一种是实例变量,即在类体中定义的变量,有三点得注意:一、成员变量不能在类体中先声明(定义)后赋值,但静态变量可以先在类体中声明,然后在方法中赋值(当然实例变量是不行的);1)如以下程序会出问题:publicclassTest{staticinta;//在类体中声明整型静态变量a。intb;

    2022年8月21日
    9
  • 【Stimulsoft Reports.WPF教程】保存并加载Designer的事件

    【下载StimulsoftReports.WPF最新版本】此示例显示如何在代码中使用“Save”和“Load”事件。您可以在应用程序初始化时将事件侦听器添加到StiOptions.Engine.GlobalEvents:publicWindow1(){StiOptions.Wpf.CurrentTheme=StiOptions.Wpf.Themes.Office20…

    2022年4月9日
    47
  • 部署项目启动提示找不到locahost:8080…..地址问题

    部署项目启动提示找不到locahost:8080…..地址问题这个遇到过好几次,因为想让项目在本地运行,我们就需要修改下连接地址:一般会在web.xml\当行文件,也会涉及到一些配置文件,需要我们自己改成本地环境还有测试环境。…

    2025年6月17日
    0

发表回复

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

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