当前位置: 首页 > 专利查询>雅虎公司专利>正文

安全的模块间通信机制制造技术

技术编号:5388461 阅读:268 留言:0更新日期:2012-04-11 18:40
用于促进在诸如浏览器客户端之类的实现域安全性模型的用户代理所处理的文档的上下文内执行的代码模块之间的安全、结构化交互的方法、装置和系统。在特定实现方式中,被加载到基本文档中的模块连接器脚本或对象发现对应于不同来源或域的收听者模块和发送者模块,并在它们之间传递信息。这样,只要让端用户将收听者模块和发送者模块都添加到一网页,无需显式地定义任何形式地互连,收听者模块即可以消耗和使用来自位于同一页面上的发送者模块的信息。例如,照片模块可以访问远程照片共享站点处的用户账户,并且将一个或多个照片提供给在幻灯放映中呈现照片的模块。

【技术实现步骤摘要】
【国外来华专利技术】
本公开总地涉及可在由浏览器或其他客户端应用所处理的网页或其他结构化文档的上下文内执行的代码对象之间的通信。
技术介绍
由诸如因特网之类的广域网连接的交互式系统已经稳步发展成为了信息交换、社 会交往和数字媒体共享的活跃媒介。因特网用户通常维持着在以可定制的个人页面为特色 的各种服务提供商处的一个或多个账户,所述个人页面例如是个人主页(例如,my. yahoo, com等等)、社交网络站点上的个人页面(例如,facebook. com、myspace. com等等),等等。 为了增强这种页面对于端用户来说的实用性和可定制性,服务提供商有时允许用户利用一 个或多个功能模块或窗口小部件(widget)(以下称之为模块)来定制其页面。 在web或因特网环境中,这些模块可包括在客户端应用(例如浏览器)的上下文 内执行以实现多种有用的或娱乐性的功能的HTML代码和脚本(例如JavaScript,以及异步 JavaScript和XML(AJAX))。例如,模块可以被开发来显示从真正简单联合(RSS)馈送获得 的内容,例如博客条目、新闻标题或播客(podcast)。其他模块可被开发来显示在内容聚集 站点(例如flickr.com)上容宿的照片的幻灯放映。其他模块可以显示实时股票报价。在 许多情况下,这些模块以框架或内联框架(iframe)的形式出现在基本HTML文档中,这使得 能够在基本HTML文档内嵌入另一 HTML文档。 维护这些可定制页面的服务提供商可以开发若干的模块,用户可从中选出一些来 添加到其页面。然而,由于模块能够执行的功能多种多样并且用户的创造力看起来是无限 的,因此一些服务提供商也还提供一种允许每三方开发模块的开放开发环境。然而,由于在 允许第三方模块时涉及的安全性问题,服务提供商通常还依赖于某些措施来使有关第三方 模块的安全性顾虑达到最低限度。具体而言,通过利用文档对象模型来编写脚本,网页的不 同窗口和框架中的内容可以按强大的方式来交互。然而,由于浏览器客户端可以在其各种 窗口和框架中同时显示无关的内容,例如基本页面和一个或多个模块,因此某些策略必须 被应用来保护数据完善性和信息的隐密。如果不采取安全性措施,那么在一个框架中执行 的模块可能能够获知其他模块或基本文档中的信息。允许以这种方式自由访问可能会侵犯 用户的隐私。因此,大多数公众可得的浏览器客户端(例如Mozilla⑧Firefox和Microsoft⑧Internet Explorer )支持一种域安全性模型,这种模型只允许与来自同一来源(origin) 的内容交互。例如,与一个域(例如,http:〃yaho0. com/)相对应的iframe的对象不可访 问另一框架或基本文档的内容,如果该内容源自于另一域(例如,https:〃example. com) 的话。至于JavaScript,例如,为了防止跨站点安全性问题,浏览器在javascript对象模型 中施加相同来源策略。也就是说,在一个iframe中运行的脚本不可访问另一 iframe内的 任何对象,除非这些iframe中的页面都来自同一来源。 一些浏览器在下述情况下认为两个 页面具有相同的来源如果对于这两个页面,协议、端口 (如果给出的话)和主机都是相同的。在没有域安全性的情况下,流氓页面可以窥探另一页面,访问其域外的cookie、或者利 用动态超文本标记语言(DHTML)来操纵内容。 服务提供商可以结合第三方模块利用标准浏览器所支持的域安全性模型。例如, 服务提供商可以在对应于与基本文档以及嵌入在其他iframe中的文档不同的另一来源或 域的iframe中提供HTML文档,包括第三方模块或对第三方模块的引用(例如,src属性)。 这样,给定的第三模块的操作被有效地包含在其相应iframe的上下文内。
技术实现思路
本专利技术提供了用于促进在诸如浏览器客户端之类的实现域安全性模型的用户代 理所处理的文档的上下文内执行的代码模块之间的安全、结构化交互的方法、装置和系统。 在特定实现方式中,被加载到基本文档中的模块连接器脚本或对象发现对应于不同来源或 域的收听者模块和发送者模块,并在它们之间传递信息。这样,只要让端用户将收听者模块 和发送者模块都添加到一网页,无需显式地定义任何形式地互连,收听者模块即可以消耗 和使用来自位于同一页面上的发送者模块的信息。例如,照片模块可以访问远程照片共享 站点处的用户账户,并且将一个或多个照片提供给在幻灯放映中呈现照片的模块。附图说明 图1是示出本专利技术的特定实现方式可在其中操作的网络环境的示意图。 图2示出了可用于实现物理服务器的示例性计算系统体系结构。 图3是示例性图形用户界面。 图4是示出与基本网页或文档相对应的HTML文档的元素的示例性代码。 图5是示出与模块相对应的HTML文档的元素的示例性代码。 图6至9是示出根据本专利技术的特定实现方式的模块间通信过程的流程图。具体实施例方式A.示例性网络系统体系结构 图1示出了特定实现方式可在其中操作的示例性网络环境。如图1所示,本专利技术 的特定实现方式可在包括服务提供商站点30和一个或多个客户端系统28的网络环境中操 作。服务提供商站点30包括容宿着超文本传送协议(HTTP)服务器26和网络应用27的 网络应用服务器31、操作性地耦合到数据库22的数据库系统20、以及操作性地耦合到模块 信息的数据存储装置36的模块容宿平台34。路由器27把服务提供商站点30操作性地耦 合到网络云24。网络云24—般表示一个或多个互连的网络,这里描述的系统和主机可通过 这些网络通信。网络云24可包括基于分组的广域网(例如因特网)、专用网络、无线网络、 卫星网络、蜂窝网络、寻呼网络等等。 数据库系统20是一网络可寻址系统,其可容宿数据库应用并可联合诸如社交网 络系统、可定制用户主页(例如,my. yahoo.com)等等之类的多种网络应用操作。 一个或多 个主机可通过计算机网络访问数据库系统20。在一种实现方式中,数据库22可存储各种 类型的信息,例如用户账户信息、用户配置文件数据、地址、偏好、金融账户信息。数据库22 还可存储内容,例如数字内容数据对象和其他媒体资源。在特定实现方式中,内容数据对象或内容对象是通常存储或包含在数据文件或记录中的数字信息的个体项。内容对象可采取 许多形式,包括文本(例如,ASCII、SGML、HTML)、图像(例如,jpeg、tif和gif)、图形(基 于向量的或者位图)、音频、视频(例如,mpeg)、或者其他多媒体、以及其组合。内容对象数 据还可包括可执行的代码对象(例如,可在浏览器窗口或框架内执行的游戏)、播客等等。 从结构上来说,数据库22意味着一大类数据存储和管理系统。在特定实现方式中,数据库 22可由包括诸如数据库服务器、大容量存储介质、媒体库系统等等之类的组件的任何适当 物理系统来实现。模块容宿平台34容宿着由服务提供商站点30内部开发的模块,以及由 第三方开发的模块。数据存储装置36存储着模块定义数据,例如计算机程序代码、HTML代 码、脚本、Adobe⑧Flash (swf)对象,等等。 在特定实现方式中,网络应用27可以访问数据库系统20以根据需要检索、添加或 修改本文档来自技高网
...

【技术保护点】
一种方法,包括:在第一来源处接收来自用户代理的对网页的请求,其中该用户代理能够操作来实现域安全性模型,该域安全性模型不允许跨内联框架的来自不同来源的内容之间的交互;访问布局信息的数据存储位置来识别出一个或多个模块对象以添加到基本文档;以及从所述第一来源发送所述基本文档到所述用户代理,其中所述基本文档包括一个或多个模块内联框架元素,这一个或多个模块内联框架元素中的每一个能够操作来使得所述用户代理在一内联框架内加载来自第二来源的模块文档,其中该模块文档包括一信使对象和一个或多个所识别出的模块对象;其中每个信使对象在所述用户代理的上下文内能够操作来:在相应的模块内联框架内创建信使内联框架元素,该信使内联框架元素包括标识所述第一来源的位置属性;响应于由模块对象发送的消息,将该消息添加到该位置属性;以及把在该信使内联框架元素的位置属性中检测到的新消息提供给模块对象;其中所述基本文档还包括模块连接器对象,该模块连接器对象在所述用户代理的上下文内能够操作来:访问一个或多个信使内联框架元素的位置属性以针对新消息进行检查;以及响应于新消息,将该新消息添加到相应的信使内联框架元素的一个或多个位置属性。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:罗欧池吉瓦艾萨克阿尔弗雷德亨利瓦斯勒斯基
申请(专利权)人:雅虎公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1