




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第9章章JavaScript安全安全 为了加强使用JavaScript实现特效的网页的访问 安全性,从JavaScript角度考虑,设置了同源策 略,即不允许用户从同源的窗口进行相互访问; 从浏览器角度考虑,则设置了一套结构化安全规 则。 9.1同 源 策 略 同源策略是JavaScript的主要安全策略之 一,它可以防止从一个站点载入的脚本获取 或设置另一个站点的文档的属性。 第第9章章JavaScript安全安全 第第9章章JavaScript安全安全 9.1同同 源源 策策 略略 1.同源检测 同源策略规定JavaScript代码只能访问其来源服务器 上的数据。如果两个文档来源于同一个
2、服务器,且使用了相 同的协议和端口,则认为两者同源。当一个脚本试图从其他 窗口访问当前窗口文档的属性与方法时,浏览器会对其URL 进行同源检测:如果URL通过了检测,则允许访问,否则浏 览器报错。 表9-1是同源检测的各种举例,其中列出了使用从 http: 同URL的窗口访问的结果及理由。 通过使用同源策略,用户能知道当前页面是否来自于正 在浏览的域。 第第9章章JavaScript安全安全 9.1同同 源源 策策 略略 2.嵌入式文档 由于框架网页中的每个框架都有自己的window对 象,同源策略同样适用于对框架内容的访问。如果 两个框架不是使用相同协议从同一站点载入,则脚 本不能跨越框架界
3、限。 同源策略还适用于标签、Netscape 4.0 中的标签和标签, 以及包含在 标签内的文档。 第第9章章JavaScript安全安全 9.1同同 源源 策策 略略 3.外部脚本 外部链接脚本被认为是其宿主文档的一部分,因而可以被其他域 链接。例如,如果在http: 面中包含下面的代码: 则脚本会正常载入和运行。 由于链接脚本被看作是宿主页面的一部分,因此,如果 http: 本试图访问其他窗口,则会受到其宿主页面同源检测的影响,即 不管脚本驻留在何处,都会被认为来自 http: 第第9章章JavaScript安全安全 9.1同同 源源 策策 略略 4.例外 目前,主流的浏览器(如Inter
4、net Explorer 6.0)几乎对所有的 JavaScript属性和方法都进行同源检测,只对极少数的方法和属性不进 行检测,表9-2列出了这些属性和方法。 当前窗口中的页面即使从其他域载入,也可以访问表92中的属性 或方法。由于这些属性或方法都是用来导航的,因此不会造成安全上的 问题。 如果使用相同协议从不同服务器载入文档,同源检测可以灵活变 化:将包含脚本的document对象的domain属性设置为更普遍的域,并 允许在不违反同源策略的情况下访问此域。例如,对于从 http:载入的文档中的脚本,可以设置其域 属性为或,这样,当从 域载入窗口时,就可以绕过同源检测。 第第9章章Java
5、Script安全安全 9.1同同 源源 策策 略略 5.优点 同源检测对于用户保密是非常重要的。如果没有同源检 测,从任意域载入的活动文档中的脚本不仅可以窥探到用户 访问的URL,还可以获得这些站点的cookie值以及用户在表 单中输入的内容。 第第9章章JavaScript安全安全 9.2结构化安全规则结构化安全规则 IE浏览器和Mozilla浏览器都为用户内置了一些安 全规则,用户可以对这些安全规则进行一定的设 置。本节对这些规则进行简单介绍。 第第9章章JavaScript安全安全 9.2结构化安全规则结构化安全规则 9.2.1Mozilla安全规则 Mozilla提供了先进的安全规则设
6、置,用户可以将已命名的规则 应用于Web站点列表。例如,可以创建一个名为“Intranet”的规 则,并将其应用于公司内部站点http: 的页面。可以创建一个包含Web站点列表的名为“受信站点”的 规 则,用于对列表中的站点赋予某些特殊权限,对于不属于这个列 表的站点,则使用默认的安全规则。 Mozilla浏览器安全规则配置中的最大不足是没有GUI接口来管 理这些站点或规则,必须进行手工设置。实际上,用户可以很容 易地创建总体的JavaScript规则。在Mozilla浏览器中执行“工 具”“选项”“内容”命令。 第第9章章JavaScript安全安全 9.2结构化安全规则结构化安全规则 9.
7、2.2Internet Explorer中的安全设置 IE 4.0及更高版本的IE浏览器支持对不同站点设置类似的安全规则,但 其支持的控件较Mozilla浏览器要少。IE浏览器中的站点被分为以下5种 类型: (1)本地 Intranet:在本地服务器存储的页面,通常位于公司防火墙 内。 (2)受信任的站点:允许访问的站点。 (3)Internet:存放从Web存取的所有页面的默认区域。 (4)受限制的站点:明确指出的不受信任的站点。 (5)本地计算机:从硬盘中载入的页面。该区域是隐含的,不能手工 配置。从硬盘中载入的页面总是具有访问权限。 第第9章章JavaScript安全安全 9.2结构化安
8、全规则结构化安全规则 9.2.3ActiveX控件 表9-3列出了IE浏览器中默认安全选项对ActiveX控件的 支持情况,其中“提示”表示当有ActiveX控件脚本要执行 时, 浏览器会提示用户是否允许其执行。 如果在使用JavaScript中的ActiveX控件时出现问题,则可 以检查此ActiveX控件是否标记为“安全”。 第第9章章JavaScript安全安全 9.3浏览器使用浏览器使用JavaScript的安全问题的安全问题 JavaScript的安全问题并不限于运行时错误,在不违反安 全规则的情况下,脚本也可以通过很多途径来危害用户的运 行环境。 由于系统资源(CPU资源和内存等)
9、有限,因此,不管是有 意设计,还是意外差错,都很容易写出使浏览器崩溃的 JavaScript代码。运行下面几个例子中的任何一段代码,都 可能造成浏览器甚至操作系统崩溃。 第第9章章JavaScript安全安全 9.3浏览器使用浏览器使用JavaScript的安全问题的安全问题 1.无限循环 最简单、最直接地编写有害代码的方法是:程序中退出循环的条件永远 不会实现,即无限循环。无限循环有多种形式,一旦运行就无法自行中 止。无限循环会造成系统资源枯竭,其危害是很明显的。事实上,现代 的多数浏览器都会检测出这种代码,并终止其运行,但是对于类似下面 示例中的程序,则很少有浏览器可以防范,其代码会一直无限循环下 去,直至系统资源枯竭。 2.内存消耗 内存消耗殆尽也会使浏览器崩溃。 3.使用浏览器方法 使用浏览器方法的函数进行自我调用,会无休止地循环存取文档,造成 浏览器过于繁忙而无法载入显示用户界面事件,从而无法完成相应的动 作。 参看例例9-1 、9-2、例9-3、例9-4、例9-5。 第第9章章JavaScript安全安全 9.4跨站点脚本跨站点脚本 JavaScript安全有时与脚本设计有关,如使 用跨站点的脚本。这里简单介绍跨站点脚本 可能产生的一些危害及预防方法。 9.4.1潜在的威胁 9.4.2预防 第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 惠安财务基础知识培训课件
- 北京海淀2026届化学高二第一学期期末联考模拟试题含答案
- 患者院感课件
- 传统节日中秋节趣味活动方案
- 恐龙科普绘本课件
- 春学期学校教研活动方案
- 新疆直升本科考试试题及答案
- 划焊工艺考试题及答案
- 四川叉车考试试题及答案
- 松鼠初数面试题及答案
- 医药行业数字化营销方案研究
- 3.2 歌曲《牧童之歌》课件(9张)
- 可穿戴设备可靠性优化技术
- 仓库人员防暑措施方案
- 小学教师嘉奖主要事迹材料简短
- 2024年江西省高考化学试卷(真题+答案)
- 血液透析诊疗指南
- 2023年河南省对口升学养殖类专业课试卷
- TSG-T7001-2023电梯监督检验和定期检验规则宣贯解读
- 社区健康服务与管理教案
- 房屋装修合同范本下载
评论
0/150
提交评论