首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >请慎用ASP.Net的validateRequest=”false”属性

请慎用ASP.Net的validateRequest=”false”属性

作者头像
全栈程序员站长
发布于 2022-06-28 07:35:21
发布于 2022-06-28 07:35:21
5730
举报

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

阅读全文下载代码:http://www.cckan.net/forum.php?mod=viewthread&tid=74

在客户端的文体框里输入“<任何字符>例如<user>”等字符的时候为出现这样的错误

序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。

异常详细信息: System.Web.HttpRequestValidationException: 从客户端(txtName=”<fd>”)中检测到有潜在危险的 Request.Form 值。

这是没有设置<pages validateRequest =”true”>这个属性这是默认的,当我们改为false的时候这样的错误就不会出现了,但是我们不能只是这样改,这样虽说是没有错了, 但是你有没有想过程序也就不安全了啊,

正确的做法是在你当前页面添加Page_Error()函数,来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信息。如果当前页面没有Page_Error(),这个异常将会送到Global.asax的Application_Error()来处理,你也可以在那里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数,才会显示这个默认的报错页面呢。 protected void Page_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); if (ex is HttpRequestValidationException) { Response.Write(“请不要输入这样的字符,呵呵“);

Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。 } }

这是ASP.Net提供的一个很重要的安全特性。因为很多程序员对安全没有概念,甚至都不知道XSS这种攻击的存在,知道主动去防护的就更少了。ASP.Net在这一点上做到默认安全。这样让对安全不是很了解的程序员依旧可以写出有一定安全防护能力的网站。

  但是,当我Google搜索 HttpRequestValidationException 或者 “A potentially dangerous Request.Form value was detected from the client”的时候,惊奇的发现大部分人给出的解决方案竟然是在ASP.Net页面描述中通过设置 validateRequest=false 来禁用这个特性,而不去关心那个程序员的网站是否真的不需要这个特性。看得我这叫一个胆战心惊。安全意识应该时时刻刻在每一个程序员的心里,不管你对安全的概念了解多少,一个主动的意识在脑子里,你的站点就会安全很多。

  为什么很多程序员想要禁止 validateRequest 呢?有一部分是真的需要用户输入”<>”之类的字符。这就不必说了。还有一部分其实并不是用户允许输入那些容易引起XSS的字符,而是讨厌这种报错的形式,毕竟一大段英文加上一个ASP.Net典型异常错误信息,显得这个站点出错了,而不是用户输入了非法的字符,可是自己又不知道怎么不让它报错,自己来处理报错。

  对于希望很好的处理这个错误信息,而不使用默认ASP.Net异常报错信息的程序员们,你们不要禁用validateRequest=false。

例子 http://www.cckan.net/forum.php?mod=viewthread&tid=73

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年6月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
通过云API创建云主机,并指定IP地址
蛋蛋
2023/07/14
1.1K1
利用Python调用云Api实现全地域同步轻量应用服务器密钥并共享给云服务器
请注意 为了保障您的账户以及云上资产的安全 请谨慎保管SecretId 与 SecretKey 并定期更新 删除无用权限
小宇-xiaoyu
2022/03/04
1.7K0
云服务器CVM批量开机脚本-Python
>>点我下载 https://www.python.org/downloads/release/python-279/
君的名字
2021/03/25
10K1
云服务器CVM批量关机脚本-Python
>>点我下载 https://www.python.org/downloads/release/python-279/
君的名字
2021/03/24
10.9K1
利用Python调用云Api实现批量共享云服务器自定义镜像
请注意 为了保障您的账户以及云上资产的安全 请谨慎保管SecretId 与 SecretKey 并定期更新 删除无用权限
小宇-xiaoyu
2022/03/23
3.4K0
腾讯云 TI 平台部署与调用DeepSeek-R1大模型的实战指南
今天我们将继续探讨如何部署一个私有化的 DeepSeek-R1 大模型,具体的部署过程我们将利用腾讯云的 TI 平台进行操作。当前,腾讯云 TI 平台为用户提供了免费体验的满血版 DeepSeek-R1 大模型,同时该平台还提供了开放的 API 接口服务,用户可以方便地将其接入到自己的平台中,进行定制化使用。接下来,我们将深入讲解如何快速实现 DeepSeek-R1 大模型的私有化部署,帮助大家更高效地掌握整个流程,确保能够顺利地将这一先进技术应用到自己的实际场景中。
努力的小雨
2025/02/05
7240
腾讯云一句话识别接口调用
使用主账号登录语音识别控制台(https://console.cloud.tencent.com/asr),开通语音识别服务。
向东平
2025/05/09
2730
混元大模型,API免费发放,又一个王炸级更新!
混元大模型(英文名:HunYuan)是由腾讯开发的大型语言模型,它可以进行丰富的语义理解和计算,为用户提供问答式的服务。基于大量的训练数据和先进的深度学习技术,混元大模型能够处理各种类型的问题和任务,涵盖知识问答、建议、解决问题等多个方面。
不惑
2024/05/08
1.9K0
混元大模型,API免费发放,又一个王炸级更新!
利用Python调用云Api实现将cvm安全组配置复制到轻量应用服务器
虽然轻量应用服务器并没有安全组,但是我们可以用云api将cvm的安全组配置复制下来,生成代码调用轻量应用服务器相关api将cvm安全组配置添加到轻量防火墙
小宇-xiaoyu
2022/03/04
1.3K0
培训认证环境购买:利用接口批量创建CVM
当前GTS学苑,TCS、TBDS、TSF、TDSQL以及TBASE等腾讯云自研产品的培训都需要学员自带环境,在培训过程中使用学员自己的环境进行实操演练。每个产品的培训环境对CVM的数量以及配置都有不同要求。一套产品培训的实操环境少则4台,多则接近20台,而且CVM的配置有差异。学员在环境准备的时候如果使用人工购买的方式,就需要花费较多时间进行环境的准备工作,效率低且繁琐。本文将基于GTS学苑当前环境使用情况,介绍自动化创建CVM的功能,并附录主要的培训产品相关创建机器的代码,供学员自行下载并运行。
苏欣
2022/02/18
4K0
腾讯云批量修改某个项目中所有cvm实例的属性,比如安全组等
相关接口:DescribeInstances、ModifyInstancesAttribute
Windows技术交流
2025/01/07
1610
CVM使用API批量升级机型
如果有多台CVM需批量修改配置或升级机型,可以调用API来实现,API文档:云服务器 调整实例配置-实例相关接口-API 中心-腾讯云
vic@TX
2023/05/09
4900
Python实现的食谱生成器
想象一下:你正在超市或者菜市场寻找晚餐灵感,但想到昨天餐馆点的好吃的菜,但并不知道那个配方。
mariolu
2024/03/18
4760
腾讯云智能结构化OCR初体验:开启高效数据提取之旅
在数字化浪潮的推动下,企业面临着海量文档数据的处理挑战。传统的人工录入方式不仅效率低下,而且容易出错,严重影响了企业的运营效率。光学字符识别(OCR)技术的出现,为这一难题提供了有效的解决方案。腾讯云智能结构化OCR,凭借其卓越的技术实力和广泛的应用场景,正在成为企业数字化转型的重要助力。
LucianaiB
2025/01/10
2060
腾讯云智能体开发平台×DeepSeek | 企业应用快速接入手册
其实早就该写这篇文章的,只是有各种原因耽搁了,一方面是由于确实想好好写,想写一点大家可以用的上的东西,考虑的太多反而不敢下笔;另一方面也是因为一直没想好写哪个方向的内容。本次的 腾讯云智能体开发平台×DeepSeek 的测评活动一共提供了两个方向:应用搭建模式(低代码) 和 API开发模式(代码态) 。两个方向各有特点,不同的文章创作者适合不同的写作方向。本来是准备写应用搭建模式(低代码)方向的,但是根据官方活动群的反馈,应用搭建模式方向写的人比较多,那么就切换到 API开发模式方向来创作吧。本次活动的链接:https://cloud.tencent.com/developer/article/2496399 这里也期待更多的技术从业者能够参与进来,来帮助企业探索好产品,同时也可以促进官方产品更完善。多余的话就不说了,下面开始正文内容…
六月的雨在Tencent
2025/03/24
7540
从零开始使用腾讯云Java SDK
腾讯云开发者工具套件(SDK)是云 API 3.0 平台的配套工具。本文以 Java SDK 为例,介绍如何使用、调试并接入腾讯云产品 API。
zhijiehou
2021/06/25
13.1K2
基础网络CVM使用API批量切换私有网络/批量回退基础网络
一、迁移方案基础网络CVM切换到私有网络,有两种方式:1、在控制台切换CVM网络(单次最多批量切换20台),参考文档:云服务器 切换私有网络服务-操作指南-文档中心-腾讯云2、通过API方式切换网络,参考文档:云服务器 修改实例vpc属性-API 文档-文档中心-腾讯云本文以python为例,介绍调腾讯云SDK批量切换基础网络CVM的方法。二、环境准备1、安装python(2.7或3.0以上版本都可以);2、安装腾讯云最新SDK(需最新SDK才支持回退接口):pip install tencentcloud
vic@TX
2022/11/03
2.4K0
用python写一个翻译软件
https://console.cloud.tencent.com/api/explorer?Product=tmt&Version=2018-03-21&Action=TextTranslateBatch
mariolu
2024/03/26
4290
【腾讯云AI绘画】 老师,我想学绘画
AI 绘画(AI Art)是一款 AI 图像生成与编辑技术 API 服务,可以结合输入的图片或文本智能创作出与输入相关的图像内容,具有更强大的中文理解能力、更多样化的风格选择,以及更偏东方审美的绘画创作能力,更好支持中文场景下的建筑风景生成、古诗词理解、水墨剪纸等中国元素风格生成,以及各种动漫、游戏风格的高精度图像生成和风格转换,为高质量的内容创作、内容运营提供技术支持。
不惑
2023/12/06
7791
【腾讯云AI绘画】 老师,我想学绘画
利用Python调用云Api实现多地域快速修改轻量应用服务器密码
请注意 为了保障您的账户以及云上资产的安全 请谨慎保管SecretId 与 SecretKey 并定期更新 删除无用权限
小宇-xiaoyu
2022/03/30
2.3K3
推荐阅读
相关推荐
通过云API创建云主机,并指定IP地址
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档