时间:2014-01-29 来源:

从客户端检测到有潜在危险的Request.Form值的asp.net代码

1、web.config文档<system.web>后面加入这一句:
复制代码 代码如下:

<pages validaterequest="false"/>

示例:
XML/HTML
复制代码 代码如下:

<?xml version="1.0" encoding="gb2312" ?>
<configuration>
<system.web>
<pages validaterequest="false"/>
</system.web>
</configuration>

2、在*.aspx文档头的page中加入validaterequest="false",示例如下:
复制代码 代码如下:

<%@ page validaterequest="false" language="c#" codebehind="index.aspx.cs" autoeventwireup="false" inherits="mybbs.webform1" %>

其实这样做是不正确的,网页外包接活会给程序安全带来风险.
  ASP.Net 1.1后引入了对提交表单自动检查是否存在XSS(跨站脚本攻击)的能力.当用户试图用之类的输入影响页面返回结果的时候,网页切图价格ASP.Net的引擎会引发一个 HttpRequestValidationExceptioin.这是ASP.Net提供的一个很重要的安全特性.因为很多程序员对安全没有概念,div+css制作甚至都不知道XSS这种攻击的存在,div+css报价知道主动去防护的就更少了.ASP.Net在这一点上做到默认安全.这样让对安全不是很了解的程序员依旧可以写出有一定安全防护能力的网站.
  但是,兼职手机网页制作当我Google搜索 HttpRequestValidationException 或者 "A potentially dangerous Request.Form value was detected from the client"的时候,html静态页面制作惊奇的发现大部分人给出的解决方案竟然是在ASP.Net页面描述中通过设置 validateRequest=false 来禁用这个特性,web切图报价而不去关心那个程序员的网站是否真的不需要这个特性.看得我这叫一个胆战心惊.安全意识应该时时刻刻在每一个程序员的心里,psd转html不管你对安全的概念了解多少,html切图制作一个主动的意识在脑子里网页外包接活,你的站点就会安全很多.
  为什么很多程序员想要禁止 validateRequest 呢?有一部分是真的需要用户输入"<>"之类的字符.这就不必说了.还有一部分其实并不是用户允许输入那些容易引起XSS的字符,网页外包接活而是讨厌这种报错的形式web前端制作,毕竟一大段英文加上一个ASP.Net典型异常错误信息,web前端制作显得这个站点出错了承接网页制作,而不是用户输入了非法的字符,div前端切图可是自己又不知道怎么不让它报错web切图报价,自己来处理报错.
  对于希望很好的处理这个错误信息,web切图报价而不使用默认ASP.Net异常报错信息的程序员们符合w3c标准,你们不要禁用validateRequest=false.
  正确的做法是在你当前页面添加Page_Error()函数,符合w3c标准来捕获所有页面处理过程中发生的而没有处理的异常.然后给用户一个合法的报错信息.如果当前页面没有Page_Error(),这个异常将会送到Global.asax的Application_Error()来处理,jpg或psd转html你也可以在那里写通用的异常报错处理函数.如果两个地方都没有写异常处理函数web前端制作,才会显示这个默认的报错页面呢.
  举例而言,web前端制作处理这个异常其实只需要很简短的一小段代码就够了.在页面的Code-behind页面中加入这么一段代码:
复制代码 代码如下:

protected void Page_Error(object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
if (HttpContext.Current.Server.GetLastError() is HttpRequestValidationException)
{
HttpContext.Current.Response.Write("请输入合法的字符串【<a href=\"javascript:history.back(0);\">返回</a>】");
HttpContext.Current.Server.ClearError();
}
}

这样这个程序就可以截获 HttpRequestValidationException 异常,兼职手机网页制作而且可以按照程序员的意愿返回一个合理的报错信息.
  这段代码很简单web切图报价,所以我希望所有不是真的要允许用户输入之类字符的朋友,网站div+css千万不要随意的禁止这个安全特性符合w3c标准,如果只是需要异常处理,符合w3c标准那么请用类似于上面的代码来处理即可.
  而对于那些通过 明确禁止了这个特性的程序员网页外包接活,自己一定要明白自己在做什么,网页外包接活而且一定要自己手动的检查必须过滤的字符串web前端制作,否则你的站点很容易引发跨站脚本攻击.
  关于存在Rich Text Editor的页面应该如何处理?
  如果页面有富文本编辑器的控件的,div+css制作那么必然会导致有类的HTML标签提交回来.在这种情况下承接网页制作,我们不得不将validateRequest="false".那么安全性怎么处理?如何在这种情况下最大限度的预防跨站脚本攻击呢?
  根据微软的建议,兼职手机网页制作我们应该采取安全上称为“默认禁止web切图报价,显式允许”的策略.
  首先,web切图报价我们将输入字符串用 HttpUtility.HtmlEncode()来编码符合w3c标准,将其中的HTML标签彻底禁止.
  然后,html切图制作我们再对我们所感兴趣的、并且是安全标签网页外包接活,通过Replace()进行替换.比如,网页外包接活我们希望有""标签web前端制作, EventArgs e)
{
//将输入字符串编码承接网页制作, "<b>");
sb.Replace("</b>", "<i>");
sb.Replace("</i>", "</i>");
Response.Write(sb.ToString());
}
这样我们即允许了部分HTML标签,符合w3c标准又禁止了危险的标签.
根据微软提供的建议网页外包接活,我们要慎重允许下列HTML标签,jpg或psd转html因为这些HTML标签都是有可能导致跨站脚本攻击的.
<applet>
<body>
<embed>
<frame>
<script>
<frameset>
<html>
<iframe>
<img>
<style>
<layer>
<link>
<ilayer>
<meta>
<object>
可能这里最让人不能理解的是<img>.但是web前端制作,看过下列代码后,web前端制作就应该明白其危险性了.
<img src="javascript:alert('hello');">
点击次数:3191
作者:
web前端行业资讯
Web new NewsList
英特尔宣布与法拉利跨界合作欲将AI技术用于赛车运动 ,,2018年01月11日甲骨文服务器出漏洞:攻击者用漏洞挖矿获取加密货币 ,,2018年01月11日用深度学习设计图像视频压缩算法:更简洁、更强大 ,,2018年01月11日Ubuntu内核和NVIDIA更新:修复Meltdown和Spectre两处漏洞 ,,2018年01月11日AntDesign3.1.1发布,阿里企业级UI设计语言 ,,2018年01月11日微信「跳一跳」带火小游戏,开发者如何快速上手? ,,2018年01月11日谷歌公布最新安卓系统份额:你用上奥利奥了么? ,,2018年01月11日腾讯开发出“3D音效”算法:普通耳机实现3D实时语音效果 ,,2018年01月11日谷歌工程师点赞中国程序员实现Node.js启动超4倍提速 ,,2018年01月11日三星电子总裁兼CE部门负责人金炫奭:万物互联时代到来 ,,2018年01月11日NVIDIA和大众合作建立智能驾驶助手 ,,2018年01月11日GIMPS项目报告发现已知最大素数 ,,2018年01月11日微软与生物技术公司开展AI驱动的血液检测同时诊断数十种疾病 ,,2018年01月11日微软跨平台移动开发工具套件HockeyApp宣布免费 ,,2018年01月11日《硅谷》里神乎其神的压缩技术,AI正在一点点做出来 ,,2018年01月11日LinuxMint19代号敲定为“Tara”预计2018年5月至6月期间发布 ,,2018年01月11日Facebook发布wav2letter工具包,用于端到端自动语音识别 ,,2018年01月11日开源数据库ArangoDB正进行约1156万美元股权融资 ,,2018年01月11日IntelCPU漏洞闹大:腾讯云紧急升级 ,,2018年01月11日2018年1月全球数据库排名:Redis夺回第八 ,,2018年01月11日Lyft将联手无人驾驶公司于CES上展示无人驾驶汽车 ,,2018年01月11日京东X无人超市首家社会门店开业:刷脸进、微信自动结算 ,,2018年01月11日担心被AI取代是杞人忧天?高晓松跨年演讲说的有几分对 ,,2018年01月11日免费授权技术许可Intel宣布在未来CPU中集成雷电3 ,,2018年01月11日算法决定你在社交媒体上看到的信息 ,,2018年01月11日谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日chrome扩展学习右键菜单实现代码2014年01月29日使用makefile编译nodejs模块 【编程语言】2015年02月25日PHP生成网页快照不用COM不用扩展.2014年01月29日【寒江孤叶丶的Cocos2d-x之旅_23】Cocos2d-xLUA实现事件分发器luaEventDispatcher 【移动开发】2015年01月27日WebService那点事【移动开发】2015年04月01日诺基亚CEO:我们将展示最完整的WP8三星做不到 ,,2016年06月23日hdu1685GCD容斥原理【编程语言】2015年06月05日Redis研究(九)—有序集合类型2 【系统运维】2015年01月21日Shell命令机制 【移动开发】2014年12月01日HDU1885BFS+状态压缩【编程语言】2014年12月01日明年就可以用中文调戏Siri了 ,,2016年06月29日NGUI的textlist和Scrollbar的设计【综合】2014年11月26日OJ刷题---填写乘法算式 【云计算】2015年08月24日Duqu使用OOC语言开发关键组件 ,,2016年07月24日STRUTS框架(web.xml,struts.xml,XXXvalidation.xml配置信息)个人心得 【综合】2015年01月27日ACdreamOJ1116斐波那契数列+hash计算后缀【移动开发】2014年12月29日教你轻松玩转FTP2014年01月29日perl核心模块解析(二)List::Util 【编程语言】2015年08月27日常用加密算法 【云计算】2015年03月09日【AmazeUI】框架之text大小属性【Web前端】2014年12月16日九度OJ—题目1021:统计字符 【编程语言】2014年12月29日cache数据库之表的存储结构 【互联网】2015年08月14日Ajax提高篇(7)Ajax实现简单的下拉框联动显示数据【编程语言】2015年08月31日数据库查询优化(主从表的设计)2014年01月29日POJ2774---LongLongMessage(后缀数组,求最长公共子串) 【编程语言】2015年03月27日errorMSB8031BuildinganMFCprojectforanon-Unicodecharactersetisdeprecated 【Web前端】2015年08月03日IllustratedC#2012--第一章节--C#和.NETFramework--进入Microsoft.NET 【综合】2015年06月02日pyhont中mahotas包的使用【综合】2015年06月05日android常见面试题与我自己的回答(二)【移动开发】2015年05月11日MysqlSolution-TimeouterroroccurredtryingtostopMySQLDaemon.StoppingMySQL:【FAILED】-2015年03月13日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)