web安全性考虑的几方面
了解下面几个关键点对理解整个 web安全, 甚至整个安全体系都有很大的帮助。 我们希望大家的出发点更加贴近实际,有这几个关键点作为支撑,后续的一切将更加清晰明了。
1.数据与指令
用浏览器打开一个网站,呈现在我们面前的都是数据,有服务端存储的(如:数据库、内存、文件系统等) 、客户端存储的(如:本地 Cookies、Flash Cookies 等) 、传输中的(如:JSON 数据、XML 数据等) ,还有文本数据(如:HTML、JavaScript、CSS 等) 、多媒体数据(如:Flash、MP3 等) 、图片数据等。 这些数据构成了我们看到的 Web 世界,它表面丰富多彩,背后却是暗流涌动。在数据流的每一个环节都可能出现安全风险。因为数据流有可能被“污染” ,而不像预期的那样存储或传输。
如何存储、传输并呈现出这些数据,这需要执行指令,可以这样理解:指令是要执行的命令。正是这些指令被解释执行,才产生对应的数据内容,而不同指令的解释执行,由对应的环境完成,比如:
<script>
eval(location.hash.substr(1));
</script>
<script></script>标签内的是一句 JavaScript 指令,由浏览器的 JS 引擎来解释执行,解释的结果是数据。而<script></script>本身却是 HTML 指令(俗称 HTML 标签),由浏览器 DOM 引擎进行渲染执行。
这是一条简单的 SQL 查询指令,当这条指令被解释执行时,会产生一组数据,内容由 username/email/desc 构成,而解释的环境则为数据库引擎。
如果数据与指令之间能各司其职,那么 Web 世界非常太平了。可你见过太平盛世真正存在吗?当正常的数据内容被注入指令内容,在解释的过程中,如果注入的指令能够被独立执行,那么攻击发生了。
2.浏览器的同源策略
古代的楚河汉界明确规定了楚汉两军的活动界限,理应遵守,否则必天下大乱,而事实上天下曾大乱后又统一。这里我们不用管这些“分久必合,合久必分”的问题,关键是看到这里规定的“界限” 。Web 世界之所以能如此美好地呈现在我们面前,多亏了浏览器的功劳,不过浏览器不是一个花瓶——只负责呈现,它还制定了一些安全策略,这些安全策略有效地保障了用户计算机的本地安全与 Web安全。
注:计算机的本地与 Web是不同的层面,Web 世界(通常称为 Internet 域)运行在浏览器上,而被限制了直接进行本地数据(通常称为本地域)的读写。
同源策略是众多安全策略的一个,是 Web 层面上的策略,非常重要,如果少了同源策略,等于楚汉两军没了楚河汉界,这样天下大乱了。
同源策略规定:不同域的客户端脚本在没明确授权的情况下,不能读写对方的资源。
下面分析同源策略下的这个规定,其中有几个关键词:不同域、客户端脚本、授权、读写、资源。
(1)不同域或同域
同域要求两个站点同协议、同域名、同端口,比如:表 1-1 展示了表中所列站点与http://www.foo.com 是否同域的情况。
从表 1-1 中的对比情况可以看出,我们通常所说的两个站点同域是指它们同源。
(2)客户端脚本
客户端脚本主要指 JavaScript (各个浏览器原生态支持的脚本语言) 、 ActionScript (Flash的脚本语言) ,以及 JavaScript 与 ActionScript 都遵循的 ECMAScript 脚本标准。
Flash 提供通信接口,使得这两个脚本语言可以很方便地互相通信。客户端的攻击几乎都是基于这两个脚本语言进行的,当然 JavaScript 是最广泛的。
被打入“冷宫”的客户端脚本有 VBScript,由于该脚本语言相对较孤立,又有当红的JavaScript 存在,所以实在是没有继续存在的必要。
(3)读写权限
Web 上的资源有很多,有的只有读权限,有的同时拥有读和写的权限。比如:HTTP请求头里的 Referer(表示请求来源)只可读,而 document.cookie 则具备读写权限。这样的
(4)资源
资源是一个很广泛的概念,只要是数据,都可以认为是资源。同源策略里的资源是指Web 客户端的资源。一般来说,资源包括:HTTP 消息头、整个 DOM 树、浏览器存储(如:Cookies、Flash Cookies、localStorage 等) 。客户端安全威胁都是围绕这些资源进行的。
3.信任与信任关系
其实web安全的攻防都是围绕“信任”进行的。前面提到的同源策略也是信任的一种表现,默认情况下,不同源则不信任,即不存在什么信任关系,这都是出于安全的考虑。
本文名称:web安全性考虑的几方面
网站网址:/news23/105123.html
成都网站建设公司_创新互联,为您提供搜索引擎优化、网站建设、网站设计、网站制作、软件开发、网站营销
广告
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源:
创新互联