检测到有潜在危险的Request.Form值

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

今天同事遇到一个问题“检测到有潜在危险的 Request.Form 值”,我发现此问题常遇到一般是在提交数据中包含有未编译的HTML控件(不知道是不是这么理解)、特殊的符号(如“<”,“/”)。常见的情况是页面后台提交有/n、/t这样的或者请求数据中包含<b/>这样的,如果出现这样的问题的原因是微软在.net framework2.0中引入了数据提交验证机制以防止有跨站点攻击和危险数据。ep:<img src="javascript:alert('hello');">。如果将alert('hello')换成攻击代码后果不堪设想,关于<style>也是一样。

好了明白这是数据监测问题那么久有一个简单粗暴的解决方案来解决“检测到有潜在危险的 Request.Form 值”问题,那就是取消验证。取消验证有俩种方式

1)在页面 Page指令中设置validateRequest="false"

2)在全局webconfig设置

<configuration>

<system.web>

<pages validateRequest="false" />

</system.web>

</configuration>

不过后者会将整个项目的验证都取消,而前者是取消当前页面的验证。

注:(有时候你使用的.net framework版本为4.0那么需要在webconfig设置<httPRuntime requestValidationMode="2.0" />。很多时候会忽略这点)

不过说到这里肯定有人会说这不安全,那么还有一种解决方案。

截取这个报错信息自定义处理方式(下班了,下次在写完给自己以后再留下资料)。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航