龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

设计安全的Ajax Mashup

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
一、谁叫mashup? 由多个源站点无缝合并而成的一个web站点或web应用被称为“mashup”。它带给用户集成体验:分散在各地的页面被以一种新奇的重用模式合并、表达出来。 典型mashup的内容通

一、谁叫mashup?

由多个源站点无缝合并而成的一个web站点或web应用被称为“mashup”。它带给用户集成体验:分散在各地的页面被以一种新奇的重用模式合并、表达出来。

典型mashup的内容通过公共接口或是API取自第三方来获得。而另一种方式就是通过包含web feeds(比如RSS、Atom)和Javascript(比如google AdSense)来获得内容。

大家会在以下的地方对mashup有所体验:eBay、Amazon、Google、Windows Live和Yahoo开发网络。

二、“物美价廉”的乐高平台

mashup作为一个建立web应用的新方式,它在单一页面中合并了来自多个源站点的程序和数据服务。通称,通过将javascript作为各个源页面之间的“粘合剂”使这些组件和连接被乖巧地布局在同一个页面里,这样并无需昂贵的花费就生产出有价值的“新产品”。

mashup就如一套乐高玩具(比如乐高星战系列),把现存的有趣东西粘合在一起。

三、互联网上的“裸奔”

这里的裸奔并非在光天化日之下的赤裸行为,而是将自己一丝不挂的充分暴露在互联网中,等待着种种无情的“欺辱”。

下面来看一下可能导致mashup裸奔的原因:

1.束手无措的javascript:在组件包含私有信息或者带有私有连接时mashup就无法工作了(至少整个页面已经被forbidden提示搞得丑陋不堪)。javascript提供了一些穿过这些“封锁”的暗门,但它所依赖的单独的全局对象却由于包含页面和被包含页面之间的互不信任而被禁止。

2.无衣遮身的DOM:mashup中的DOM对安全来讲真是很糟糕,因为每个DOM节点都直接或者间接地链接到另一个节点,这导致不能在有效地隐藏DOM的同时充分地调用其全部功能。

3.相对过激的iframe: