没有合适的资源?快使用搜索试试~ 我知道了~
首页JSON Request
XMLHttpRequest的安全模型使其对下一代web应用构成障碍。JSONRequest将成为一种新的浏览器服务,允许浏览器与任何JSON数据服务器进行双向的数据交换的同时,不使组织或用户暴露在危害中。它可以在页面脚本与web中的JSON服务器进行数据交互。因此人们希望浏览器开发商能够将这一特性嵌入到其产品中从而使得web应用开发得到进一步提高。 转载本翻译版本请保留和注明作者及译者姓名。
资源详情
资源评论
资源推荐
JSONRequest
Douglas Crockford
douglas@crockford.com
2006-04-17 (Updated 2008-05-27)
译:李淳
概述
XMLHttpRequest 的安全模型使其对下一代 web 应用构成障碍。
JSONRequest 将成为一种新的浏览器服务,允许浏览器与任何 JSON 数据服
务器进行双向的数据交换的同时,不使组织或用户暴露在危害中。它可以在页
面脚本与 web 中的 JSON 服务器进行数据交互。因此人们希望浏览器开发商能
够将这一特性嵌入到其产品中从而使得 web 应用开发得到进一步提高。
背景
下一代 web 应用将包含更多的数据。这些数据将发送到任何一个服务器上,并
用于交换数据。XMLHttpRequest 接口对此很提倡,但是并未实现此目标,因
为它被一套不完善的安全模型严重限制了。
XMLHttpRequest 受到同源策略(the Same Origin Policy)的约束。同源
策略使得 XMLHttpRequest 接口只能连接发送基地址页的服务器。这一规则
解决了一些在 web 架构中共有的、长期存在的严重安全缺陷。
如果没有同源策略,那么用户可能受到扩展脚本(XSS,cross site scripting)
攻击的危害。在下面的例子中,我们在上 pirate.net 有一个由恶意用户创建的
页面。该页面将试图泄露用户在 penzance.org 上的关系。
如果同源策略没有生效, pirate.net 上的某个页面将可以通过
XMLHttpRequest 向 penzance.org 发送一个请求。这个请求将携带
penzance.org 的 cookies。如果 penzance.org 使用 cookies 进行身份验证,
那么该页面将能够在请求中伪装成好像是有用户初始化的。任何到某一站点的
请求都将携带附属于该站点的 cookies。这将允许 pirate.net 使用
penzance.org 的 cookies 的权限。
如果 penzance.org 位于一个防火墙后面,并且内部服务期假设防火墙不进行
必要的显式认证,那么 pirate.net 上的页面将能够被用作一个代理页面来访问
penzance.org 回传给 pirate.net 的内容。这是完全可能的,因为
XMLHttpRequest 既能够包含 XML 形式的数据 (如 HTML 文档)又可以包含非
XML 形式的文本。
同源策略隔离了这些攻击,但同时也禁止了更多的合理用途。页面脚本访问其
他服务器的数据但并不损害用户及其组织安全的情况也在其中。
奇怪的是,同源策略并未应用于 script 元素。因此一些开发者开始动态生成
<script> 标记来连接任何服务器。服务器发回一个传送数据的 script 元素。
但不幸的是,这个 script 元素作为依据发起方页面的一段脚本进行运行,也就
使得该脚本可以窃取 cookies 或者直接访问发起方服务器。而这是不安全的。
如果一个 penzance.org 页面从 pirate.net 加载了一段脚本,这段脚本将可
能通过窃取 cookies 并向 penzance.org 服务器发送请求的方式,损害到
penzance.org 及其用户间的关系。
这篇文档提出了一种安全、可靠的数据服务,这种服务允许任何页面上的一段
脚本连接到任何服务器上并进行数据交换。它将实现从 pirate.net 的页面能够
在不伤害 penzance.org 的前提下访问来自任何服务器的数据,并且允许
penzance.org 访问 pirate.net 数据而不损害其拥有的用户。
JSON
JSON 是一种基于 JavaScript 一个安全子集的数据交互格式。 JSON 可以表示
简单或复杂的结构化数据。但 JSON 不能表达函数或表达式。这是种严谨的数
据。它有非常具体的语法规则,所以很容易来理解并判断一段 JSON 文本是否
在语法上是正确的。一段 JSON 文本可以非常简单的转换为 JavaScript 值,这
使得它成为一种非常适用于 JavaScript 的格式。对于其他很多语言 JSON 都提
供了使用支持,其中包括 C#, Java, Perl, PHP, Python 以及 Ruby。更多关
于 JSON 的信息可以参见 www.JSON.org。
JSON 与 XML 看起来不同,因此 HTML 文本经过 JSON 分析器时将产生错误。
JSONRequest
JSONRequest 一个全局的 JavaScript 对象。它提供三种方法: post、 get
和 cancel。
剩余14页未读,继续阅读
李淳
- 粉丝: 25
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0