首页> 中国专利> 在主机页面中安全地呈现在线广告

在主机页面中安全地呈现在线广告

摘要

公开了用于在网页上呈现在线广告的一种或者多种技术和/或提供。创建包括在第一跨域框架与诸如网页之类的主机页面之间的第一通信信道的第一框架间通信信道。第一跨域框架包括来自与主机页面的域不同的域的内容。创建包括在第一跨域框架与在主机页面中的第二跨域框架之间的第二通信信道的第二框架间通信信道。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-09-15

    授权

    授权

  • 2015-07-01

    专利申请权的转移 IPC(主分类):G06F17/30 变更前: 变更后: 登记生效日:20150612 申请日:20110930

    专利申请权、专利权的转移

  • 2012-06-13

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20110930

    实质审查的生效

  • 2012-04-04

    公开

    公开

说明书

背景技术

在计算环境中,网站和关联网页经常托管为了让相应网站的在线用户查看的在线广告。在线广告通常来自与托管网站的域(其中,例如托管网站利用它们的服务器来提供网站)不同的域,并且广告经营商(syndicator)利用它们的服务器来提供广告内容。在线广告商和托管网站通常与从主机调用广告、从广告商拉取广告、然后将广告引向主机网站的广告经营商一起工作。在线广告经常具有丰富媒体功能(包括扩展、沿网页移动和/或示出在多个广告之间的丰富媒体交互的能力)。 

发明内容

提供这一发明内容以用简化形式介绍下文在具体实施方式中进一步描述的概念选集。这一发明内容并非目的在于标识要求保护的主题的关键因素或者实质特征、也并非目的在于用来限制要求保护的主题内容的范围。 

通常,当主机网站希望在网页中显示在线广告时,网页(托管网页)可以调用广告经营商以指示用于主机网页中的开放广告空间的规范。作为例子,可以由在用户客户端上的浏览器(例如本地)来调用广告。类似地,托管网页的服务器可以向广告经营商的服务器(例如远程地)调用广告,其中然后经由网页向用户递送用于广告的脚本。广告经营商然后从广告商所提供的广告目录中拉取满足托管网页所提供的规范的广告。广告经营商经常会以浏览器将用于所选广告内容的脚本作为主机网页脚本的部分来处理这样的方式将用于广告的脚本直接加载到主机网页的脚本中。当这出现时,经常允许广告与主机页面自由交互以便提供丰富功能(包括扩展或者收缩、改变它的位置、派生子广告和/或与主机页面上的其它广告交互)。 

然而,以这一方式插入广告脚本也向广告授予了如果不是全部也是许多主机页面可以在浏览器中具有的权限。不幸的是,恶意广告也可能以这一方式插入到主机页面中,从而产生破坏主机网站或者窃取用户的个人可标识信息这样的机会。另外,如果网页用不同脚本更新了并且广告脚本尚未更新成与新主机网页一起起作用,则一些广告可能不恰当工作。此外,网页主机可以例如能够通过操纵浏览器之内的广告内容(比如通过夸大广告看来已经被用户点击的次数(例如其中广告所有者基于点击数来向网页主机付费))来利用广告所有者。 

作为说明性示例,网络邮件系统可以托管比如广告经营商提供的第三方广告。广告经营商可以用允许广告自由扩展出主机页面或者围绕主机页面来回移动并且甚至派生子广告并且与子广告交互这样的方式来集成广告。然而这一广告也例如有可能查看用户在托管页面上的电子邮件并且从主机网站的Cookie窃取用户凭证。另外,从保护广告所有者的角度来看,主机可以在主机有计划地增加广告看来已经被用户点击的次数时向广告所有者收费更多。 

此外,广告开发者通常必须理解主机网页的发布者,来编写不与主机页面冲突(尤其是不与在线广告的丰富媒体开发相冲突)的广告执行代码。当主机页面发布者更新页面的内容、功能或者其它单元时,这一问题变得加剧,因为广告开发者的执行代码可能不再与新更新的代码一起恰当工作。一种解决方案是通知广告开发者,其为广告开发新代码、然后通过针对页面测试和重新认证来运行它。然而这一过程可能是繁琐、耗时和成本高的。 

对广告服务安全问题的先前和当前解决方案具有如下限制,这些限制可能不使它们工作或者向用户、广告经营商和广告商的系统提供了大量专有更新。在一种这样的解决方案中,广告商所创建的广告可以由第三方广告销售商发送并且在跨域框架或者窗口中加载于主机网页上,并且广告可以与主机网页有效隔离。然而,在这一例子中,由于隔离而可能没有客户端侧与主机页面的交互,这可能限制广告的丰富功能。 

在另一这样的解决方案中,广告商所创建的广告可以由广告经营商拉取、转换成纯文本并且加载到主机网页中。然而在这一解决方案中,广告可能不能包含可执行代码,这也可能减轻广告的丰富功能。其它解决方案利用广告代码扫描技术或者被设计成禁止主机网页中的某些功能的“列入黑名单”技术。然而这些解决方案可能不能覆盖新开发的恶意攻击、可能阻止合法广告并且经常需要向浏览器或者其它广告经营系统安装附加代码。 

因而,这里例如公开了一种或者多种用于在主机网页上安全地提供在线广告,同时允许在线广告的丰富媒体功能、但是不允许恶意第三方的有害攻击的技术和/或系统。另外,公开的技术和系统可以在网页主机更新它们的内容时提供更佳的广告提供商体验,因为广告内容可以在与主机页面内容相分离的安全盒内与例如所计划的网页内容相对无缝地集成。 

在用于在网页上呈现在线广告的一个实施例中,创建第一框架间通信信道。第一框架间通信信道包括在第一跨域框架(例如用于安全地托管广告内容)与主机页面之间的第一通信信道。第一跨域框架包括来自与主机页面的域不同的域的内容(例如来自广告经营商的广告内容)。另外,在这一实施例中,创建第二框架间通信信道,其包括在第一跨域框架与主机页面中的第二跨域框架(例如用于托管来自不同或者相同广告所有者或者经营商的附加广告内容)之间的第二通信信道。 

为了实现前述和相关目的,下文描述和附图阐述某些示例方面和实现。这些仅指示其中可以采用一个或者多个方面的各种方式中的仅少数方式。本公开的其它方面、优点和新颖特征将根据下文结合附图考虑时的具体描述而变得清楚。 

附图说明

图1A和1B图示了用来呈现在线广告的现有技术的例子。 

图2是用于在网页上呈现在线广告的示例方法的至少一些操作的流程图。 

图3A和3B图示了这里描述的一种或者多种技术和/或系统中的至少一些的一个或者多个实现的例子实施例。 

图4是图示了这里描述的一种或者多种技术中的至少一些的实现的实施例的流程图。 

图5是用于协调主机页面上的在线广告内容的示例系统的至少一些部件的部件图。 

图6是图示了这里描述的一个或者多个系统中的至少一些的实现的例子实施例的部件图。 

图7是包括处理器可执行指令的示例计算机可读介质的图示,这些指令被配置成体现这里阐述的一个或者多个规定。 

图8图示了这里阐述的一个或者多个规定可以在其中实现的示例计算环境。 

具体实施方式

现在参照附图描述要求保护的主题,其中通篇相似参考数字用来指代相似单元。在下文描述中,为了说明目的而阐述了诸多具体细节以便提供对要求保护的主题的透彻理解。然而可以不言而喻的是,即使没有这些具体细节也可以实践要求保护的主题。在其它实例中,以框图形式示出了结构和设备以便有助于描述要求保护的主题。 

图1A和1B图示了用来呈现在线广告的现有技术的例子。在图1A和1B中,在线用户可以导航到主机110托管的网站(例如在远程服务器上),并且可以在用户用于在线导航的浏览器中呈现主机网页102。另外,当在浏览器中呈现主机网页102时,也可以在浏览器中(比如在主机网页102的指定区域中或者在主机网页102之上)呈现一个或者多个广告104、106、108、120、122、124。 

显示于在线广告中的内容通常由例如位置远离网页主机和/或与网页主机远离地托管广告内容的一个或者多个广告所有者112(或者广告网络实体)提供。在图1A中,用于广告内容104、106、108的代码在主机网页的域中被执行并且可以具有与主机网页102的主机110相同的优先级和/或权限。例如,在主机网页110中的超文本标记语言(HTML)可以包括初始脚本,该初始脚本可以向广告所有者/网络112要求广告104、106、108。在这一例子中,当用户的客户端浏览器呈现网页102时,可以执行该脚本,在该点处可以向广告所有者/网络112进行广告调用以便显示广告(例如广告内容)。 

作为示例,在线显示广告通常以因特网广告局(IAB)所管控的标准广告单位尺寸通过图像、视频和交互式丰富媒体来传递它们的消息。在这一例子中,通常由广告网络递送的广告与来自页面的主机发布者的“内容”一视同仁,或者以与主机内容相同的级别操作在客户端浏览器上执行。允许广告内容与主机发布者内容一视同仁的一个原因例如在于广告内容已经变得更高级。在广告内容中的脚本可以包括管控广告呈现的指令。 

如果广告例如为简单图像,则呈现脚本可被最小化。然而,在一些实施例中,高级广告可以提供更复杂的脚本,其指示广告的位置和其它活动、比如扩展、收缩、移动和与页面上的其它广告的交互。例如,当鼠标处于其上事件出现于广告内容之上时,脚本可以调用扩展以部署视频。另外,作为另一例子,广告内容可以在页面上派生一个或者多个子广告显示,以便诸如提供丰富动画和/或交互。允许广告内容如同主机脚本那样运行有助于这些高级呈现。 

然而,允许广告内容脚本如同主机内容那样运行可以例如向广告所有者提供对页面上的任何内容的访问。主机网页经常可以包括用户个人信息和/或对安全性敏感的信息、比如用户ID、密码、账号等。另外,当主机网页发布者比如用新格式化、内容、脚本等更新它们的页面时,例如如果脚本需要与发布者的脚本交互,则广告内容可能不再如希望的那样在更新的页面中起作用。 

在图1B中,可以为在主机页面102上运行的广告内容创建一类“安全”广告容器120、122、124。在这一实施例中,广告脚本不能读取主机页面内容,由此为主机110提供安全层。在一个实施例中,广告容器120、122、124可以包括跨域内联框架(iframe)。跨域iframe包括与主机页面脚本内联地放置、但是被阻止与主机脚本进行任何交互的框架。另外,跨域iframe的内容可以来自与主机网页的域不同的域。 

例如,主机110可以提供来自比如在主机的服务器上托管的第一网站域的主机页面102,而在iframe 120、122、124中的内容来自比如在广告所有者/网络服务器112上托管的第二域。然而与这些“安全”广告容器相关联的一个问题例如在于,广告内容可能不能提供比如扩展、移动、派生子代、动画和/或交互之类的丰富媒体。作为例子,广告内容可以被限于仅显示在广告容器120、122、124的边界之内。另外,现有浏览器标准提供了跨域框架所提供的“安全性”。也就是说,例如当前可用于一般公众的浏览器利用一种提供“安全”容器的标准。然而,可能编写不符合这些标准的浏览器应用,并且该浏览器应用可能例如未包括跨域iframe所提供的“安全性”。在一个例子中,容器可能在新编写的浏览器中失去它的功能和/或相反不再起作用。 

因而如这里提供的那样,可以设想出一种方法,其提供安全环境以便托管包括比如移动、扩展、派生子代和交互之类的丰富内容的广告内容。图2是用于在网页上呈现在线广告的示例方法200的流程图。示例方法200始于202,并且在204处在主机页面中创建第一跨域框架,其中跨域框架包括来自与主机页面的域不同的域的内容。如上文所述,例如跨域框架可以包括iframe,其中防止在iframe中的内容与主机页面内容交互。 

在一个实施例中,可以在主机网页中创建主机广告空间以容纳第一跨域框架的初始尺寸。在这一实施例中,主机广告空间可以例如充当用于潜在广告的位置保持器。另外,可以插入第一跨域框架(例如内联跨域框架,该框架包括来自与主机网页的域不同的域的内容)作为在主机网页上方的浮动层并且与主机广告空间对齐。作为例子,当主机网页向广告经营商发出广告调用以从广告者拉取广告时,广告内容可以插入到第一跨域框架中而不是直接插入到主机网页中。 

在一个实施例中,主机广告空间可以包括比如与在IAB指南中找到的广告空间尺寸相对应的初始高度和宽度。作为例子,主机网页可以创建包括指定宽度和高度的主机广告空间。在这一例子中,主机网页可以用可以与广告者的广告内容的初始宽度和高度相对应的指定宽度和高度向广告经营商发出调用。以这一方式,广告经营商可以仅提供可能具有满足主机网页规范的初始宽度和高度的那些广告。在这一例子中,主机广告空间不含主机内容,以避免与广告内容冲突。 

在这一实施例中,例如由于广告内容包含于第一跨域框架内,所以广告可能未被授予主机网页在浏览器中的权限、由此为主机网页提供更安全的环境。然而,如果广告内容被配置成扩展(例如在由用户将鼠标置于其上时),则第一跨域框架可能需要扩展以在主机网页中容纳扩展的广告内容。 

在206处,创建第一框架间通信信道,该通信信道包括在第一跨域框架与主机页面之间的第一通信信道。作为例子,如图3A中所示,可以创建安全通信信道314,该通信信道允许第一跨域框架304向主机网页302传递请求(例如扩展或者移动框架)。在接收到这样的请求时,主机网页302例如可以有计划地扩展第一跨域框架304以容纳比如来自广告所有者/网络312之类的、例如可以在主机310提供的内容之上浮动的扩展广告内容。以这一方式,在这一例子中,可以容纳广告内容的功能,同时可以维持主机网页302的安全性。另外,在一个实施例中,主机网页302可以通过第一通信信道来与框架的内容(例如广告内容)进行通信以便配置显示属性或者其它功能。 

在示例方法200中的208处,在主机页面中创建第二跨域框架,其包含来自与主机页面不同的域的内容。例如,参照图3A,在第一跨域框架304中的广告内容可以请求主机页面302创建第二(或者第三或者更多)框架以容纳新广告内容,或者主机网页可以被设立成包括用于托管广告内容的多于一个框架。在这一例子中,可以在主机页面302中创建第二安全跨域框架306(和第三308)。如上文所述,一个或者多个第二跨域框架可以包括安全iframe,这些安全iframe有效地隔离主机内容与在框架内的广告内容。另外,在一个实施例中,可以创建第一框架间通信信道作为在第二跨域框架306与主机页面302之间的第一通信信道314。 

在示例方法200中的210处,创建第二框架间通信信道,该通信信道包括在主机页面中的第一跨域框架与第二跨域框架之间的第二通信信道。作为示例,参照图3B,可以在包括广告内容一的第一跨域框架304与包括广告内容二(例如第二广告和/或广告一所派生的广告)的第二跨域框架306之间创建第二通信信道320。另外,可以在第一跨域框架304与包括广告内容三(例如第三广告和/或广告一或者广告二所派生的广告)的第三跨域框架308之间创建第二通信信道322;并且可以在第二跨域框架306与第三跨域框架308之间创建第二通信信道324(例如,比如在主机页面中创建或者派生的附加广告之间,并以此类推)。 

在一个实施例中,创建第二框架间通信信道可以包括创建安全通信信道,该安全通信信道向主机页面、然后向第二跨域框架传递来自第一跨域框架的数据、比如通信请求。另外,在这一实施例中,第二跨域框架可以通过向主机页面传递通信(该主机页面向第一跨域框架传递该通信)来与第一跨域框架进行通信。 

作为例子,第一和第二广告可能均希望在主机页面上的它们的相应安全框架中运行视频内容。然而意识到同时运行视频可能并非一种获得用户专注的有效方式,广告内容可以协商视频的定时。在这一例子中,相应广告可以来自不同域(或者相同域)并且可具有或者不具有预先协商的条款。这里,广告内容可以协商定时或者至少确认其它方的存在,以例如提供在不同时间运行它们希望的内容。 

在另一实施例中,创建第二框架间通信信道可以包括创建第一跨域框架和第二跨域框架,其中在两个框架中的内容来自相同域。也就是说,例如第一和第二跨域框架可以例如包括来自相同域、但是来自与主机不同的域的内容。在这一实施例中,为了让来自第一和第二个域的内容在第二通信信道上发送数据,可以向第二框架传递主机页面中用于第一框架的参考位置,并且反之亦然。 

作为例子,来自第一跨域框架的内容可能希望传送与第二框架交互(例如派生、扩展、收缩、添加页眉空间、移动第二框架等)的请求,以便发起与第二框架的交互式广告。作为说明性示例,第一框架可能希望创建第二框架,以从第一框架向第二框架传递广告内容作为动画、比如如下广告,该广告将汉堡包和小甜包从第一框架的顶部落到第二框架中的汉堡包上、然后将汉堡包和小甜包从第二框架的顶部落到第三框架中的底部小甜包。在图2中,在已经创建了第二框架间通信信道之后,示例方法200结束于212。 

在一个方面中,使用广告容器用于托管广告内容的益处在于,它们可以提供升级保护、符合性等。例如,如上文所述,广告可能在主机页面更新时中止恰当运行,因为主机页面内容可能干扰广告内容(或者不允许利用广告内容的恰当运行)。在一个实施例中,可以减轻这一问题,因为广告容器例如即使在主机页面更新时仍然可以保持不变,因为广告内容与主机内容相隔离。因此,例如如果广告内容恰当利用为了在框架内信道上传送请求而提供的API,则开发者无需担心使与广告有关的代码在具体主机/站点的所有版本上工作。另外,在这一实施例中,如果广告内容升级了,则广告开发者例如仅需遵循广告容器中的API。因此无论主机的状态或者版本如何都可以升级广告内容并且反之亦然的推论也成立。 

在另一方面中,利用广告容器例如可以允许主机对它希望在主机页面上提供什么类型的广告具有“更多控制”。例如在一些页面上,主机可能不想让广告扩展,因为在广告旁边的内容对于用户体验而言是重要的。在这一例子中,没有广告容器所提供的潜在约束,主机页面就可以受广告商支配以不具有扩展广告。因而,在一个实施例中,主机可以选择“关断”传送针对扩展广告的广告请求的API。在一个例子中,即使广告尝试利用扩展API,广告仍然可能由于广告容器不能扩展而最终被裁剪。无论如何,让用户体验页面上的内容的益处可能超过裁剪广告的代价,因此可以防止广告容器进行扩展。 

图4是图示了这里描述的一种或者多种技术的实现的一个实施例400的流程图。在402处,用户比如通过使用在用户的客户端机器上安装的浏览器来导航到网站所托管的网页。在404处,在主机页面中创建第一跨域框架以便比如容纳所期望广告尺寸和/或类型。例如托管站点可以具有如下布置,这些布置让一个或者多个广告经营商在它们的页面上为特定广告类型和/或尺寸提供广告空间。在这一例子中,托管站点可以创建适当框架以适应来自经营商的所需广告。 

在一个实施例中,安全跨域框架(例如iframe)用来隔离广告内容。网站主机例如向在线用户所访问和查看的因特网发布主机网页。网站主机具有针对主机网页的适当访问和权限,并且在这一例子中可以在主机网页内(内联)呈现跨域iframe。在跨域iframe之内的内容默认不能与主机网页交互(例如创建在框架的内容(例如广告)与主机网页之间的实质屏障)。以这一方式,在这一实施例中,可以减轻例如源于框架内容的恶意攻击。 

在这一实施例中,广告所有者/经营商/网络可以生成目的是在主机网页上显示的广告内容。作为例子,广告所有者所生成的广告内容可以插入到主机网页中的跨域iframe中。以这一方式,广告所有者可以仅具有对跨域iframe内的内容的访问并且可以被阻止与主机网页交互。然而在406处,可以在第一跨域框架与主机网页之间创建第一框架间(跨域)通信信道以例如辅助广告内容的丰富媒体功能。 

在一个实施例中,在跨域框架(例如跨域内联框架(iframe))之内的广告内容可能希望与主机网页进行通信。作为例子,配置成基于指定事件(例如鼠标处于广告内容之上)而扩展的广告内容可能由于跨域框架的固定尺寸而不能扩展。然而,在这一例子中,如果广告内容可以向主机网页传送扩展意图,则主机网页可以有计划地扩展跨域框架以容纳扩展的广告内容。此外,主机网页可以希望与框架进行通信以便控制框架内的属性或者其它功能。作为例子,主机网页可能希望在框架中显示示出了广告内容的起源的标题栏。 

在这一实施例中,可以创建第一框架间通信信道(例如快速信道),该通信信道允许在跨域框架的内容与主机网页之间的直接数据(例如通信)传输。在示例实施例400中,可以从第一跨域框架向主机发出请求450。然而,由于如果广告内容能够与主机网页进行通信,则可能仍然担心主机网页的安全性,所以可以采用提供安全框架间通信信道的技术。作为例子,可以在主机网页中的通信信道的任一侧上(既在跨域框架以内又在该框架以外)插入诸如一个或者多个应用编程接口(API)之类的、提供特定安全措施的附加代码。 

在408处,可以比如通过使通信经受一个或者多个安全措施来过滤请求450。在应用的安全措施的一个实施例中,可以仅允许列入白名单的数据在第一通信信道上(比如在第一跨域框架与主机页面之间)行进。在这一实施例中,仅被代码(例如API)认为“安全”的那些功能可以于框架中“列入白名单”(例如允许运行)。 

作为例子,附加代码可以使匿名事件句柄在框架内不可分,从而虽然它们与广告代码一起运行于框架内,但是后者不能改变或者去除它们。另外,在这一例子中,可以在框架之内使用JavaScript关闭对象和功能。“列入白名单”在这一例子中较现有技术解决方案的“列入黑名单”而言具有优点,因为在“列入白名单”中有更少的开放面(例如用于恶意攻击或者信息未授权使用的更少潜在方法)。使用“列入白名单”,主机网页提供可允许功能的有限列表,而“列入黑名单”提供不允许功能的列表。 

在所应用的安全措施的另一实施例中,可以在允许在第一通信信道上行进的数据到达主机页面之前验证该数据的来源。例如当主机页面已知第一跨域框架的域时,例如可以就该已知域来检查该请求的来源(以例如查看是否有匹配)。在另一实施例中,当在主机网页中创建第一跨域框架时,可以在第一跨域框架中植入可以用于穿过第一通信信道进行通信的令牌。例如可以生成在框架之内与之外的代码(例如API)之间共享的秘密令牌。在这一例子中,在框架之内的代码可以仅向“列入白名单”的动作提供秘密令牌以阻止恶意活动。 

在所应用的安全措施的另一实施例中,可以串行化穿过第一通信信道向主机页面发送的通信;并且串行化的通信可以作为不可执行串来处理。也就是说,例如,在第一跨域框架中的广告内容所发送的请求或者命令未作为可执行代码(比如可执行JavaScript)而发送到主机网页,代之以,可以作为不可执行文本来串行读取该请求或者命令(并且如果被确定为不合需要则忽略它)。以这一方式,仅通过穿过通信信道来发送恶意(或者未授权)代码,而使得这些代码更不可能来在主机网页中执行。 

将理解,尽管这里已经讨论了安全措施的若干例子,但是在这些实施例中描述的技术并不限于任何具体安全措施。本领域技术人员可以设想用于提供安全性的另外方法和装置。例如附加代码(例如API)可以穿过信道发送心跳消息以监视框架的状况、确定在框架内的安全代码或者措施是否被去激活(例如当代码尝试将恶意地导航离开框架的域到另一个域时)。 

在示例实施例400中的410处,如果来自第一跨域框架的请求未通过用于第一通信信道的期望安全措施(在410为否),则在412处忽略和/或丢弃该请求。然而如果来自第一跨域框架的请求通过了用于第一通信信道的期望安全措施(在410为是),则如上文所述,可以在414处串行化该请求并且向主机网页传递该请求。 

如上文所述,在一个实施例中,可以通过为在第一跨域框架之内的内容使用允许功能列表来保证第一框架间通信信道的安全。在示例实施例400中,串行化的请求可以包括来自允许功能列表的一个或者多个功能,这些功能可以例如包括:一个或者多个框架显示属性(例如尺寸、形状、位置);一个或者多个框架用途(例如在框架中出现的内容、与其它框架的交互);和/或一个或者多个框架用户接口功能(例如基于用户动作来执行动作)。 

响应于源于第一跨域框架的请求,主机网页在416处在第一跨域框架上执行动作。在一个实施例中,该响应可以包括在主机网页内重新设定第一跨域框架的尺寸以比如容纳扩展的广告内容(例如视频);在主机页面内移动跨域框架以比如跟随用户在页面内的移动;向一个或者多个跨域框架广播消息以比如协商或者同步内容;和/或比如在显示所期望内容之后关闭跨域框架。 

在另一实施例中,来自第一跨域框架中的内容的穿过第一通信信道的请求450可以包括在418处创建一个或者多个第二跨域框架;并且响应可以包括在主机页面内派生子跨域框架。在一个实施例中,请求450可以例如包括创建多个第二跨域框架、由此在主机页面中派生多个子框架。例如在第一跨域框架中的广告内容可能希望向用户提供丰富交互式媒体体验以使品牌为用户所铭记。在这一例子中,多个广告可以结合主机页面内容而在整个页面上相互交互。 

在420处创建第二框架间通信信道(比如在主机页面中的第一与第二(例如与第三等)跨域框架之间)。如上文所述,第二通信信道可以允许在相应安全框架中的内容在相互之间传递数据(例如通信)。另外,在一个或者多个实施例中,上文针对第一框架间通信信道描述的安全措施也可以有选择地应用于第二通信信道。具体而言,例如当第二通信信道通过主机网页路由数据以与一个或者多个框架交换时,可以应用所描述的安全措施。 

在示例实施例400中的422处,第一和第二跨域框架(例如以及第三跨域框架等)可以比如穿过第二通信信道相互同步以提供对一个或者多个在线广告的协同呈现。在一个实施例中,请求(比如450)可以包括同步请求,并且响应可以提供在两个或者更多跨域框架之间同步内容。例如同步可以包括在两个竞争广告之间协商内容显示或者提供在两个或者更多广告之间的丰富媒体交互。 

在一个实施例中,作为说明性示例,当来自相同域的两个或者更多广告相互通信以比如同步广告内容(例如提供丰富交互)时,可以应用或者可以不应用一些安全措施。在这一例子中,广告可以在相同域中通信而无损于安全性,因为它们均在广告容器中与主页内容安全地隔离。放松针对在广告之间这一类型通信的安全性的一个原因在于,功能的安全“白名单”可能不能适应为了相互通信而能够编写广告的每种方式。然而例如当广告与来自不同域的另一广告通信时,可能较不希望放松安全措施。 

在一个实施例中,该处理可以例如在下一请求450可以包括请求创建第三跨域框架时重复。另外,在主机页面中创建的相应跨域框架可以例如在第二或者第三框架希望扩展或者派生子框架时穿过第一通信信道向主机页面发送请求。 

可以设想一种提供如下安全环境的系统,该安全环境用于托管包括丰富内容(比如移动、扩展、派生子代和交互)的广告内容。图5是用于协调主机页面上的在线广告内容的示例系统500的部件图。处理器502(例如基于计算机的处理器)处理用于系统的数据并且与框架-主机通信信道创建部件504操作耦合。框架-主机通信信道创建部件504创建在主机页面550与托管于主机页面550中的第一跨域框架552之间的框架-主机通信信道554。框架-框架通信信道创建部件506也与处理器操作耦合,并且它创建在托管于主机页面550中的第一跨域框架552与第二跨域框架556之间的框架-框架通信信道558。 

图6是图示了这里描述的一种或者多种系统的实现的示例实施例600的部件图。在示例实施例600中的系统包括可以在主机页面650中创建跨域框架652、654的框架创建部件610。框架创建部件610可以创建包括来自第一个域的内容的跨域框架,其中主机页面650包括来自第二个域的内容。也就是说,例如框架创建部件610可以创建分别具有互不相同并且不同于主页的域的多个跨域框架和/或创建多个跨域框架,其中一些或者所有跨域框架包括与主机页面域不同的相同域。 

在一个实施例中,第一跨域框架652可以包括可以由第一跨域框架652中的内容激活的框架-主机通信信道创建部件504。例如,框架创建部件610可以创建第一跨域框架652,其具有框架-主机通信信道创建部件504在该框架之内。在这一例子中,当主机网页调用广告经营商来加载广告内容时,内容的加载和/或内容的动作可以激活框架-主机通信信道创建部件504以创建在主机页面650与第一跨域框架652之间的框架-主机通信信道656。 

在一个实施例中,第一跨域框架652可以包括可以由第一跨域框架652中的内容激活的框架-框架通信信道创建部件506。例如,框架创建部件610可以创建第一跨域框架652,其具有框架-框架通信信道创建部件506在该框架之内。在这一例子中,在创建第二跨域框架之后(或者与之并行),内容的动作可以激活框架-框架通信信道创建部件506以创建在第一跨域框架652与第二跨域框架654之间的框架-框架通信信道658。 

在一个实施例中,框架-框架通信信道658可以经过主机页面650向第二跨域框架654传递来自第一跨域框架652的数据(例如通信)(或者反之亦然)。在另一实施例中,框架-框架通信信道658可以在相同域中向第二跨域框架654传递来自第一跨域框架652的数据(例如通信)(或者反之亦然)。在这一实施例中,来自第一跨域框架652的内容和来自第二跨域框架654的内容包含于相同域中。 

在一个实施例中,当第一和第二跨域框架652、654分别包括来自相同域的内容时,框架-框架通信信道创建部件506可以向第一跨域框架652传递用于来自第二跨域框架654的内容的引用。另外,框架-框架通信信道创建部件506可以向第二跨域框架654传递用于来自第一跨域框架652的内容的引用。以这一方式,例如,来自相同域的相应跨域框架可以例如在该域中相互有效通信而不用去往主机页面。 

在一个示例实施例600中,安全部件612可以过滤源于主机页面650中的跨域框架652之内的穿过框架-主机通信信道656的请求。在另一实施例中,安全部件612也可以过滤穿过在主机页面650中的跨域框架652、654之间的框架-框架通信信道658的请求。 

在另一实施例中,安全部件614可以布置于广告容器之内。例如框架创建部件610可以创建第一跨域框架652,其具有安全部件615布置在该框架中。将安全部件放置于框架之内例如可以减轻可以使用广告容器来完成的跨站脚本攻击。作为说明性实施例,黑客可以使用跨域托管的广告容器来加载随机内容用于除了在主机页面650上提供广告之外的目的。在这一例子中,在广告容器之内的安全部件614可以检查该请求是否来自主机和/或命令是否被列入白名单等。 

安全部件612可以包括白名单列表比较部件(未示出),该部件仅允许列入白名单的数据经过框架-主机通信信道656(或者框架-框架通信信道658)行进。另外,安全部件612可以包括验证部件(未示出),该部件在允许经过框架-主机通信信道656(或者框架-框架通信信道658)行进的数据去往主机页面650之前验证该数据的来源。 

此外,安全部件612可以包括令牌利用部件(未示出),该部件在主机页面650中创建的跨域框架652、654中植入令牌,并且仅允许具有该令牌的数据经过框架-主机通信信道(或者框架-框架通信信道658)行进。安全部件612也可以包括串行化部件(未示出),该部件将穿过框架-主机通信信道(或者框架-框架通信信道658)去往主机页面的通信串行化,并且将穿过框架-主机通信信道(或者框架-框架通信信道658)去往主页650的通信配置为不可执行串。 

另一实施例涉及包括被配置为实现这里给出的一种或多种技术的处理器可执行指令的计算机可读介质。图7中说明了可按这些方式设计的示例计算机可读介质,其中实现700包括计算机可读介质708(例如,CD-R、DVD-R或硬盘驱动器的盘片),其上编码了计算机可读数据706。计算机可读数据706又包括被配置为根据这里阐述的一项或多项原则进行操作的计算机指令集704。例如,在一个这样的实施例702中,处理器可执行的计算机指令704可被配置为执行方法,如图2的示例方法200的至少一些。例如,在另一个这样的实施例中,处理器可执行指令704可被配置为实现诸如图5的示例系统500中的至少一些之类的系统。本领域普通技术人员可设计出被配置为根据这里给出的技术进行操作的许多这样的计算机可读介质。 

虽然利用了特定于结构特征和/或方法动作的语言描述了主题,但应理解,所附权利要求中限定的主题不必限于上述特定特征或动作。相反,公开了上述具体特征和动作来作为实现权利要求的示例形式。 

如本申请中所使用的,术语“部件”、“模块”、“系统”、“界面”等通常意图表示计算机相关的实体,如硬件、硬件和软件的组合、软件或者执行中的软件。例如,部件可以是但不限于处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过示例的方式,控制器上运行的应用和控制器均可以是部件。一个或多个部件可驻留在进程和/或执行线程中,并且部件可位于一个计算机上和/或分布在两个或更多个计算机之间。 

另外,可使用标准编程和/或工程技术来将所要求保护的主题实现为方法、装置,或制品,来生产软件、固件、硬件或它们的任何组合以控制计算机实现所公开的主题。这里所使用的术语“制品”意图包括可从任何计算机可读设备、载体或介质存取的计算机程序。当然,本领域技术人员将意识到可对该配置进行许多修改而不脱离所要求保护主题的范围或精神。 

图8和以下讨论提供了实现这里阐述的一个或多个规定的实施例的适合计算环境的简要概述。图8的操作环境仅是适合的操作环境的一个例子,而不意图暗示对操作环境的使用或功能范围的任何限制。示例计算设备包括但不限于个人计算机、服务器计算机、手持或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA),媒体播放器等),多处理器系统、消费者电子产品、迷你计算机、大型计算机,包括任何上述系统或设备的分布式计算环境等。 

尽管未要求,以由一个或多个计算设备执行的“计算机可读指令”的一般语境描述了实施例。计算机可读指令可经由计算机可读介质(以下讨论)分发。计算机可读指令可被实现为程序模块,诸如函数、对象、应用程序接口(API)、数据结构等,其执行特定任务或实现特定的抽象数据类型。典型地,计算机可读指令的功能性可根据需要在各种环境中组合或分布。 

图8说明了系统810的例子,其包括被配置为实现这里提供的一个或多个实施例的计算设备812。在一个配置中,计算设备812包括至少一个处理单元816和存储器818。根据计算设备的具体配置和类型,存储器818可为易失性(例如,如RAM),非易失性(例如,如ROM、闪速存储器等)或两者的一些组合。图8中用虚线814说明此配置。 

在另一个实施例中,设备812可包括附加特征和/或功能。例如,设备812也可包括附加存储设备(例如,可移除和/或不可移除),该存储设备包括但不限于磁存储设备、光学存储设备等。在图8中由存储设备820说明了这样的附加存储设备。在一个实施例中,用来实现这里提供的一个或多个实施例的计算机可读指令可在存储设备820中。存储设备820也可存储用来实现操作系统、应用程序等的其他计算机可读指令。例如,计算机可读指令可被加载到存储器818中以由处理单元816执行。 

这里使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器818和存储设备820是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其他存储技术、CD-ROM、数字多用盘(DVD)和其他光学存储设备、磁卡带、磁带、磁盘存储设备或其他磁存储设备,或可用作存储需要的信息并且可通过设备812访问的任何其他介质。任何这样的计算机存储介质可以是设备812的一部分。 

设备812还可包括允许设备812与其他设备进行通信的通信连接(多个)826。通信连接(多个)826可包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外端口、USB连接或用于将计算设备812连接至其他计算设备的其他接口。通信连接(多个)826可包括有线连接或无线连接。通信连接(多个)826可发射和/或接收通信介质。 

术语“计算机可读介质”可包括通信介质。典型地,通信介质包括“调制数据信号”(诸如载波或其他传输机制)中的计算机可读指令或其他数据,并包括任何信息递送介质。术语“调制数据信号”可包括以在该信号中编码信息这样的方式设置或改变其一个或多个特性的信号。 

设备812可包括诸如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备的输入设备(多个)824。设备812也可包括诸如一个或多个显示器、扬声器、打印机和/或任何其他输出设备的输出设备(多个)822。输入设备(多个)824和输出设备(多个)822可经由有线连接、无线连接或其任何组合与设备812连接。在一个实施例中,来自另一计算设备的输入设备或输出设备可被用作计算设备812的输入设备(多个)824或输出设备(多个)822。 

计算设备812中的部件可通过诸如总线之类的各种互连进行连接。这些互连可包括外设部件互连(PCI),如PCI高速、通用串行总线(USB)、火线(IEEE 1394)、光学总线结构等。在另一个实施例中,计算设备812的部件可通过网络互连。例如,存储器818可包括位于通过网络互连的不同物理位置上的多个物理存储器单元。 

本领域技术人员将意识到,用来存储计算机可读指令的存储设备可在网络上分发。例如,可经由网络828访问的计算设备830可存储计算机可读指令以实现这里提供的一个或多个实施例。计算设备812可访问计算设备830,并下载计算机可读指令的一部分或全部用以执行。可替换地,计算设备812可根据需要下载计算机可读指令的片段,或者一些指令可在计算设备812处执行且一些在计算设备830处执行。 

这里提供了实施例的各种操作。在一个实施例中,所述操作中的一个或多个可构成在一个或多个计算机可读介质上存储的计算机可读指令,如果该计算机可读指令由计算设备执行,则将使得计算设备执行所述操作。操作中的一些或全部被描述的次序不应被理解为暗示这些操作必须依赖于该顺序。本领域技术人员在获取了本说明的益处后将意识到其他次序。另外,将理解,并不是所有的操作都必须在这里提供的每个实施例中存在。 

此外,词语“示例”在这里用来表示充当例子、实例或说明。这里描述为“示例”的任何方面或设计不必被理解为优于其他方面或设计。相反,词语示例的使用意图给出抽象形式的概念。如在本申请中所使用的,术语“或”意图表示包括性的“或”而非排他性的“或”。也就是说,除非特别指出或从上下文清楚理解,“X采用A或B”意图表示任何自然的包括性枚举。即,如果X采用A;X采用B;或X采用A和B两者,则在任何前述实例下均满足“X采用A或B”。此外,本申请和所附权利要求中所使用的不定冠词“一”或“一个”可通常被理解为“一个或多个”,除非特别指出或从上下文清楚理解为针对单数形式。 

而且,尽管已经参照一个或多个实现方式示出和描述了本公开,但是基于对本说明书和附图的阅读和理解,本领域技术人员将得到等同的替代或修改。本公开包括所有这样的修改和替代,且仅仅受限于以下权利要求的范围。尤其对于由上述部件(例如,单元、资源等)执行的各种功能,用来表述这样的部件的术语意图对应于(除非另外指出)执行所述部件的特定功能的任何部件(例如,是功能等同的),即使在结构上不等同于执行这里说明的本公开示例实现方式的功能的所公开的结构。此外,尽管可参考几个实现方式中的仅仅一个公开了本公开的具体特征,但是这样的特征可与其他实现方式的一个或多个其他特征进行组合,这可能是期望的并且对于任何给定的或具体的应用而言是有利的。另外,在具体实施方式或权利要求中使用术语“包括”、“具有”、“有”、“带有”或其变形的情况下,这样的术语意图为类似于术语“包含”的方式的包括性。 

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号