首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
16,8和4位浮点数是如何工作的
50年前Kernighan、Ritchie和他们的C语言书的第一版开始,人们就知道单精度“float”类型有32位大小,双精度类型有64位大小。还有一种具有扩展精度的80位“长双精度”类型,这些类型几乎涵盖了浮点数据处理的所有需求。但是在最近几年,尤其是今年LLM的兴起,为了减小模型的存储和内存占用,开发人员开始尽可能地缩小浮点类型。
deephub
2023/10/06
3K0
16,8和4位浮点数是如何工作的
模型压缩一半,精度几乎无损,TensorFlow推出半精度浮点量化工具包,还有在线Demo
近日,TensorFlow模型优化工具包又添一员大将,训练后的半精度浮点量化(float16 quantization)工具。
量子位
2019/08/09
1.5K0
模型压缩一半,精度几乎无损,TensorFlow推出半精度浮点量化工具包,还有在线Demo
谷歌第七代TPU(Ironwood)技术解析:架构革命与性能突破
谷歌于2023年10月正式发布了第七代TPU(代号Ironwood),其性能较第六代TPU提升了10倍,单芯片算力达到1 exaFLOP(FP8精度),并声称其集群性能(如TPU v7 Pods)甚至超过了世界上最大的超级计算机Frontier(美国橡树岭国家实验室的超算)。本文从芯片架构、软件优化、实际应用等角度深入分析Ironwood的突破性技术,并通过代码示例验证其性能优势,同时引用谷歌官方数据和学术论文增强可信度。
Lethehong
2025/04/11
9600
谷歌第七代TPU(Ironwood)技术解析:架构革命与性能突破
一行代码让训练速度提升2倍,飞桨自动混合精度技术详解
随着生活节奏的加快,「等待」已经越来越成为人们希望远离的事情。但是在深度学习领域,模型的参数、数据集的规模等等动辄就是以亿为单位,甚至更大,因此当模型训练成功之时,放一首张靓颖的「终于等到你」作为背景音乐实在是太应景了。
机器之心
2020/03/11
7000
消费级GPU成功运行1760亿参数大模型
机器之心报道 机器之心编辑部 在消费级 GPU 上运行大规模模型是机器学习社区正面临的挑战。 语言模型的规模一直在变大,PaLM 有 540B 参数,OPT、GPT-3 和 BLOOM 有大约 176B 参数,模型还在朝着更大的方向发展。 这些模型很难在易于访问的设备上运行。例如,BLOOM-176B 需要在 8 个 80GB A100 GPU(每个约 15000 美元)上运行才能完成推理任务,而微调 BLOOM-176B 则需要 72 个这样的 GPU。PaLM 等更大的模型将需要更多的资源。 我们需要
机器之心
2022/08/25
1.5K0
消费级GPU成功运行1760亿参数大模型
灵魂三问 TPU
从 2018 年 10 月到 2019 年 6 月,NLP 三大模型横空出世,分别是 Google 的 BERT,OpenAI 的 GPT-2 和 CMU 和 Google 联手的 XLNet。
double
2019/07/10
2.2K0
使用FP8加速PyTorch训练的两种方法总结
我们定义了一个Vision Transformer (ViT)支持的分类模型(使用流行的timm Python包版本0.9.10)以及一个随机生成的数据集。我们选择了ViT-Huge的有6.32亿个参数的最大的模型,这样可以演示FP8的效果。
数据派THU
2024/05/30
3900
使用FP8加速PyTorch训练的两种方法总结
tensorflow之tf.tile\tf.slice等函数的基本用法解读
解读: tensorflow中的tile()函数是用来对张量(Tensor)进行扩展的,其特点是对当前张量内的数据进行一定规则的复制。最终的输出张量维度不变。
学到老
2019/07/03
2.8K0
tensorflow之tf.tile\tf.slice等函数的基本用法解读
使用FP8加速PyTorch训练
现代的人工智能硬件架构(例如,Nvidia Hopper, Nvidia Ada Lovelace和Habana Gaudi2)中,FP8张量内核能够显著提高每秒浮点运算(FLOPS),以及为人工智能训练和推理工作负载提供内存优化和节能的机会。
deephub
2023/11/20
6880
使用FP8加速PyTorch训练
大模型高效训练基础知识:fp16与混合精度训练
GPU是一种专精浮点数运算的硬件设备,显然处理32位浮点数是处理16位浮点数计算量的2倍还多,在愿意损失一些精度的条件下使用fp16可以加速计算,而且也不会对模型最终的效果产生可感知影响。于是就有人提出了采用fp16来进行训练,具体而言在计算激活值和梯度的时候以fp16精度存储,执行优化算法的时候还原为fp32(缺失位补0),这样最终的效果是模型在GPU上以fp16和fp32两种方式加载,这被称为混合精度训练(mixed precision training),这种方式占用了更少的显存(全精度需要保存2份原始模型,混合精度保存1份原始模型,1份半精度模型,是原始模型的1.5倍),也加速了训练过程,即精度损失换时间。
Steve Wang
2023/10/12
1.7K0
TensorFlow 模型优化工具包:模型大小减半,精度几乎不变!
我们非常高兴能够将训练后的 float16 quantization 作为模型优化工具包(Model Optimization Toolkit)的一部分。这套工具包括了:
AI研习社
2019/08/15
1.8K0
TensorFlow 模型优化工具包:模型大小减半,精度几乎不变!
《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》第12章 使用TensorFlow自定义模型并训练
目前为止,我们只是使用了TensorFlow的高级API —— tf.keras,它的功能很强大:搭建了各种神经网络架构,包括回归、分类网络、Wide & Deep 网络、自归一化网络,使用了各种方法,包括批归一化、dropout和学习率调度。事实上,你在实际案例中95%碰到的情况只需要tf.keras就足够了(和tf.data,见第13章)。现在来深入学习TensorFlow的低级Python API。当你需要实现自定义损失函数、自定义标准、层、模型、初始化器、正则器、权重约束时,就需要低级API了。甚至有时需要全面控制训练过程,例如使用特殊变换或对约束梯度时。这一章就会讨论这些问题,还会学习如何使用TensorFlow的自动图生成特征提升自定义模型和训练算法。首先,先来快速学习下TensorFlow。
SeanCheney
2019/12/13
5.8K0
《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》第12章 使用TensorFlow自定义模型并训练
学界 | 减少模型半数内存用量:百度&amp;英伟达提出混合精度训练法
机器之心编译 选自:arXiv 参与:李泽南、蒋思源 深度学习的模型正在变得越来越复杂,所需要的计算资源也越来越多,在开发更加强大的硬件的同时,很多人也在致力于改进算法。最近,百度和英伟达共同提出了一
机器之心
2018/05/08
1.3K0
学界 | 减少模型半数内存用量:百度&amp;英伟达提出混合精度训练法
使用FP8加速PyTorch训练的两种方法总结
在PyTorch中,FP8(8-bit 浮点数)是一个较新的数据类型,用于实现高效的神经网络训练和推理。它主要被设计来降低模型运行时的内存占用,并加快计算速度,同时尽量保持训练和推理的准确性。虽然PyTorch官方在标准发布中尚未全面支持FP8,但是在2.2版本中PyTorch已经包含了对FP8的“有限支持”并且出现了2个新的变量类型,torch.float8_e4m3fn和 torch.float8_e5m2 ,而H100也支持这种类型,所以这篇文章我们就来介绍如何使用FP8来提高训练效率
deephub
2024/06/03
9320
使用FP8加速PyTorch训练的两种方法总结
【BBuf的cuda学习笔记十】Megatron-LM的gradient_accumulation_fusion优化
这篇文章来解析一下Megaton-LM涉及到的一个优化gradient_accumulation_fusion。这里fusion的意思是在gemm接口中会将当前的结果累加到先前计算的梯度上,所有这些都在一个操作中完成,可以避免多次访问global memory提升算子的带宽。下面解析一下这个优化的调度逻辑和cuda实现。
BBuf
2023/08/25
2K0
【BBuf的cuda学习笔记十】Megatron-LM的gradient_accumulation_fusion优化
tf.Tensor
Represents one of the outputs of an Operation.
狼啸风云
2022/06/06
1.3K0
Llama也中招,混合精度下位置编码竟有大坑,百川智能给出修复方案
位置编码技术是一种能够让神经网络建模句子中 Token 位置信息的技术。在 Transformer 大行其道的时代,由于 Attention 结构无法建模每个 token 的位置信息,位置编码(Position embedding) 成为 Transformer 非常重要的一个组件。研究人员也提出了各种各样的位置编码方案来让网络建模位置信息,Rope 和 Alibi 是目前最被广泛采纳的两种位置编码方案。
机器之心
2023/09/08
7380
Llama也中招,混合精度下位置编码竟有大坑,百川智能给出修复方案
【DL】模型训练太慢?显存不够用?这个算法让你的GPU老树开新花
小夕找了一份开源代码,结果刚开始跑小夕就震惊了!什么鬼?训练速度怎么这么快?出bug了吧????
yuquanle
2020/02/20
1.8K0
【DL】模型训练太慢?显存不够用?这个算法让你的GPU老树开新花
处理AI模型中的“Type Mismatch”报错:数据类型转换技巧
大家好,我是默语,擅长全栈开发、运维和人工智能技术。在我的博客中,我主要分享技术教程、Bug解决方案、开发工具指南、前沿科技资讯、产品评测、使用体验、优点推广和横向对比评测等内容。 我的博客涵盖云服务产品评测、AI产品对比、开发板性能测试和技术报告评估等多个领域。我希望通过这些分享,帮助大家更好地了解和使用各种技术产品。目前,我活跃在多个技术社区和平台,包括CSDN、掘金、51CTO、腾讯云开发者社区、阿里云开发者社区、微信公众号和视频号。我期待通过这些平台与大家交流,共同进步。
默 语
2024/11/22
3270
改动一行代码,PyTorch训练三倍提速,这些「高级技术」是关键
GitHub 地址:https://github.com/rasbt/cvpr2023
计算机视觉研究院
2023/08/23
5690
改动一行代码,PyTorch训练三倍提速,这些「高级技术」是关键
推荐阅读
相关推荐
16,8和4位浮点数是如何工作的
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档