CN101662460B - 一种跨域通讯的方法、系统和装置 - Google Patents

一种跨域通讯的方法、系统和装置 Download PDF

Info

Publication number
CN101662460B
CN101662460B CN200810147259.3A CN200810147259A CN101662460B CN 101662460 B CN101662460 B CN 101662460B CN 200810147259 A CN200810147259 A CN 200810147259A CN 101662460 B CN101662460 B CN 101662460B
Authority
CN
China
Prior art keywords
page
data
recipient
request
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200810147259.3A
Other languages
English (en)
Other versions
CN101662460A (zh
Inventor
李战园
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN200810147259.3A priority Critical patent/CN101662460B/zh
Priority to US12/583,362 priority patent/US8090763B2/en
Priority to EP09810347.6A priority patent/EP2318941A4/en
Priority to JP2011524974A priority patent/JP5689799B2/ja
Priority to PCT/US2009/004751 priority patent/WO2010024863A1/en
Publication of CN101662460A publication Critical patent/CN101662460A/zh
Priority to HK10107404.3A priority patent/HK1141170A1/zh
Priority to US14/139,426 priority patent/USRE45139E1/en
Application granted granted Critical
Publication of CN101662460B publication Critical patent/CN101662460B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

本发明公开了一种跨域通讯的方法、系统和装置。所述方法应用于包括发起方和接收方的系统中,所述发起方和接收方位于不同的域中,包括:所述发送方向所述接收方中用于接收数据的页面发送请求;所述发送方中用于接收数据的页面,接收所述接收方中用于发送数据的页面发送的响应;所述发送方从所述发送方中用于接收数据的页面中获取所述响应。通过使用本发明实现了在保证浏览的域安全隔离前提下,实现不同域名间安全通讯。

Description

一种跨域通讯的方法、系统和装置
技术领域
本发明涉及网络技术领域,尤其涉及一种跨域通讯的方法、系统和装置。
背景技术
由于浏览器客户端为访问者提供了基于域的安全隔离机制,来防止不同网站间的程序互相访问对方的数据,以保护访问者在一个网站的隐私数据不会被另一个网站所窃取。浏览器的这个安全机制在给访问者提供安全保障的同时,也给网站开发带来障碍。对于一个拥有多个域名的大型网站平台或者相互信任的不同网站来说,网站间的数据交换和相互服务是很正常的事情。
现有技术中跨域通讯的方法主要有:
现有技术一利用浏览器的安全漏洞来通讯。不断挖掘浏览器的安全漏洞,实现跨域访问和交换数据。
现有技术二设置浏览器允许跨域访问。要求用户降低浏览器安全标准,设置浏览器允许跨域访问。
现有技术三利用不同网站间的URL(Uniform Resource Locator,统一资源定位符)跳转来通讯。一个域请求另一个域的网页,并将要交换的信息以URL参数等形式传递;对方回送信息也是让浏览器重定向回原来域的网页,并将回送信息以URL参数形式返回等。
现有技术四利用跨域的脚本引用。一个域的网页用<script>标签引用另一个域的js(javascript脚本)文件内容,并将发送数据以URL的参数形式传递过去。另一个域的这个js文件可以编写任意脚本来将数据直接送到当前网页中。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
利用浏览器的安全漏洞来通讯时,恶意网站也能利用安全漏洞实施攻击,而且随着浏览器的修补和升级,需要寻找新的漏洞。
设置浏览器允许跨域访问时,要求访问者降低浏览器安全级别同样会让恶意网站有机可乘。
利用不同网站间的URL跳转来通讯时,每次数据通讯需要多次往返服务器,服务器压力很大,效率低下,攻击者可以从浏览器的地址栏上看到URL传递的数据信息,有安全隐患,并且由于URL长度限制,无法传递
大型数据
利用跨域的脚本引用时,每次通讯需要请求服务器生成新脚本,比较复杂,并且一方完全将自己的数据暴露给另一方的脚本,另一方可以窃取任何东西。
发明内容
本发明提供了一种跨域通讯的方法、系统和装置,用于在保证浏览的域安全隔离前提下,实现不同域名间安全通讯。
本发明提供了一种跨域通讯的方法,应用于包括发起方和接收方的系统中,所述发起方和接收方位于不同的域中,包括:
所述发送方向所述接收方中用于接收数据的页面发送请求;
所述发送方中用于接收数据的页面,接收所述接收方中用于发送数据的页面发送的响应;
所述发送方从所述发送方中用于接收数据的页面中获取所述响应。
本发明还提供了一种跨域通讯的方法,应用于包括发起方和接收方的系统中,所述发起方和接收方位于不同的域中,包括:
所述接收方中用于接收数据的页面接收所述发送方发送的请求;
所述接收方处理所述接收方发送的请求并得到响应;
所述接收方中用于发送数据的页面,向所述发送方接收数据的页面发送所述响应。
本发明还提供一种跨域通讯的系统,包括:发送方和接收方,所述发送方与所述接收方位于不同的域中;
所述发送方,用于向所述接收方中用于接收数据的页面发送请求;并通过本地用于接收数据的页面,接收所述接收方中用于发送数据的页面发送的响应;从所述本地用于接收数据的页面中获取所述响应;
所述接收方,用于通过用于接收数据的页面接收所述发送方发送的请求,处理所述接收方发送的请求并得到响应,并通过用于发送数据的页面,向所述发送方接收数据的页面发送所述响应。
本发明还提供一种跨域通讯的装置,包括:请求发送单元、响应接收单元以及数据获取单元;
所述请求发送单元,用于向所述接收方中用于接收数据的页面发送请求;
所述响应接收单元,用于通过接收数据的页面,接收所述接收方中用于发送数据的页面发送的响应;
所述数据获取单元,用于从所述发送方中用于接收数据的页面中获取所述响应。
本发明还提供一种跨域通讯的装置,包括:请求接收单元、处理单元以及响应发送单元;
所述请求接收单元,用于接收数据的页面接收所述发送方发送的请求;
所述处理单元,用于处理所述接收方发送的请求并得到响应;
所述响应发送单元,用于发送数据的页面,向所述发送方接收数据的页面发送所述响应。
与现有技术相比,本发明具有以下优点:
通过使用本发明完全遵循浏览器域安全隔离机制,并且不需要用户降低安全级别、没有URL页面跳转以及不会频繁请求服务器,并且保证通讯双方有公平和对称的安全保护,实现不同域之间安全通讯。
附图说明
图1为本发明实施例一种跨域通讯方法的流程图;
图1-A为本发明实施例一种跨域通讯方法的又一流程图;
图2为本发明实施例中一种跨域通讯方法原理图;
图3为本发明实施例一中一种跨域通讯方法的流程图;
图4为本发明实施例二中一种跨域通讯方法的流程图;
图5为本发明实施例中一种跨域通讯的系统图;
图6为本发明实施例中一种跨域通讯装置的结构图;
图7为本发明实施例中又一跨域通讯装置的结构图。
具体实施方式
本发明实施例提供一种跨域通讯的方法、系统和装置,用于在保证浏览的域安全隔离前提下,实现不同域之间安全通讯。
以下结合附图和实施例,对本发明的实施方式作进一步说明。
本发明实施例提供一种跨域通讯的方法,具体流程如图1所示,包括:
S101、所述发送方向所述接收方中用于接收数据的页面发送请求。
S102、所述发送方中用于接收数据的页面,接收所述接收方中用于发送数据的页面发送的响应。
S103、所述发送方从所述发送方中用于接收数据的页面中获取所述响应。
本发明实施例还提供一种跨域通讯的方法,具体流程如图1-A所示,包括:
S101-A、所述接收方中用于接收数据的页面接收所述发送方发送的请求。
S102-A、所述接收方处理所述接收方发送的请求并得到响应。
S103-A、所述接收方中用于发送数据的页面,向所述发送方接收数据的页面发送所述响应。
通过使用本发明完全遵循浏览器域安全隔离机制,并且不需要用户降低安全级别、没有URL页面跳转以及不会频繁请求服务器,并且保证通讯双方有公平和对称的安全保护,实现不同域之间安全通讯。
本发明实施例一中提供一种跨域通讯的方法,如图2所示为该方法的原理图,各个部分的详细原理如下:
(1)在实现跨域传递前,通讯双方服务器首先部署两个页面文件,一个用于接收请求一个用于回送响应。在浏览器跨域通讯过程中,浏览器打开通讯双方服务器部署的页面文件进行跨域通讯的数据传递。需要说明的是“部署”是指在远端的服务器上放置这些页面文件,而“打开”是指本地浏览器向远端服务器部署的页面文件发送访问请求。
(2)在实现跨域传递时,通讯发起方的一个原始页向对方域的通讯接收方发送跨域传递请求命令和参数时,原始页所在的浏览器会打开服务器端的一个隐含页面,利用该隐含页面去打开对方域服务器中部署的ASK页面,并将通讯请求所需的命令和数据通过该请求URL片段标识符以及该页面window对象的name属性传递过去。其中原始页是通讯发起方发起通讯时所在的页面,并且所述原始页是处在通讯发起方的域内,例如isv.com。
(3)通讯接收方通过接收请求页面ASK接收请求命令和参数,并向服务器提取结果数据。该过程的实现是由于ASK页面处于通讯接收方的域中,例如alisoft.com,所以可以根据对方的请求命令取得该域内的相关数据。
(4)通讯接收方通过接收请求页面ASK获得结果数据后,该接收请求页面ASK会直接打开通讯发起方服务器部署的回送响应页面ACK,或再打开一个隐含页面并利用该隐含页面去打开通讯发起方服务器部署的回送响应页面ACK,并将要回送的位置和数据通过URL的片段标识符以及页面window对象的name属性传递到上述的回送响应页面ACK中。其中ACK页面位于通讯发起方的域中,例如isv.com,所以在回送响应页面ACK接收到结果数据后将所述结果数据传递回通讯发起方的原始页。
其中,ASK页面用于接收跨域传递请求命令,并根据该命令提取结果数据;ACK页面用于接收ASK页面发送的结果数据,并将结果数据传回原域的原始页。需要说明的是,通讯双方只有在第一次传递跨域请求时,需要通过通讯接收方的服务器进行数据传递。在以后的跨域传递中,浏览器利用自身缓存功能将第一次发送的参数缓存在浏览器内部,当通讯接收方接收跨域传递请求时直接在浏览器缓存中提取结果数据。
本发明实施例提供的跨域通讯方法的流程图如图3所示,具体包括以下步骤:
S301、通讯双方服务器各部署两个页面文件,一个用于接受请求的页面ASK,一个用于回送响应的页面ACK。部署两个页面文件可以完成双向请求通讯。
需要说明的是,接受请求的ASK页面一般是静态页面,在需要附加额外的HTTP(HyperText Markup Language,超文本传输协议)头信息时也可以是动态页面。而回送响应的ACK页面可以完全是静态页面。ASK页面和ACK页面是双方通讯的基本页面。当通讯发生时,通讯的双方会相互请求这些基础页面。这两个用于通讯的页面被统称为通讯页面。
该步骤中需要两个通讯页面的请求格式。这个格式必须是通讯双方都需要遵守的,因此是通讯协议的一部分。其中,需要注意的是:可以使用GET形式请求页面,并且通讯的命令和数据一般不能用URL的参数形式传递。
S302、当从一个网站的原页面中发出对不同域的另一网站的通讯请求时,原页面所在的浏览器会打开一个隐含页面,并利用该隐含页面去打开对方服务器部署的ASK页面,并将请求命令和参数传递过去。
其中,打开隐藏页面的方式有打开不可见新窗口或打开不可见的iframe。
其中,请求命令使用附加在URL上的片段标识符形式来传递,而数据可以使用window对象的name属性来传递。
具体的URL上附加的片段标识符就是在一个URL之后添加一个“#”号,后跟任意字符串。片段标识符用于在一个页面上定位到指定的锚点(阅读位置),属于客户端处理,而非服务器处理。URL中的片段标识符发生的任何变化,对于服务器来说是相同的URL,而浏览器先天具有对相同URL页面的缓存机制。因此,除第一次请求这两个页面时会往返服务器之外,以后对这两个页面的请求都只会从浏览器的客户端缓存中读取,不会有往返服务器的开销。
S303、对方的ASK页面在收到请求后,执行相应的服务并取得结果数据。
S304、对方的ASK页面会打开一个隐含的新页面或用自己所在的页面,打开原域网站的ACK页面,并将取得的结果数据传到原域网站的ACK页面。
浏览器安全隔离机制禁止一个域的页面的程序直接操作另一个页面的内容和数据。但是,一个域的页面可以在打开另一个域的页面时,将数据通过URL或window对象的name属性等方式,将数据传递给对方页面。
S305、原域网站的ACK页面将接收的结果数据传回原页面。
上述步骤可以用一个例子加以说明,例如:一个对ASK页面的典型请求如下:
http://www.alisoft.com/ASK.HTM#GetUserName/envoy123www.isv.com
通过该请求,向http://www.alisoft.com/ASK.HTM页面请求envoy123www.isv.com的用户名(GetUserName)。
一个对ACK页面的典型回送如下:
http://www.isv.com/ACK.HTM#envoy123
通过该回送,向http://www.isv.com/ACK.HTM页面发送字符串 envoy123作为对上述请求的响应
需要注意的是,步骤s305实现的前提是由于此时的ACK页面和原页面是处在同一个域中,因此可以访问到原页面,从而将结果数据传递给原页面。
上述步骤中,请求和回送的数据都是以JSON格式的字符串形式来传递的。JSON格式是JavaScript语言原生的数据表示形式,具有形式简单、格式紧凑和转换方便等优点。
请求和回送的数据可以通过window对象的name属性来传递,这样可以传递很大的数据信息。也可通过全部采用片段标识符传递数据。
需要说明的是,为了方便开发人员使用,可以将上述数据参数封装成一系列JavaScript函数,提供给开发人员调用。
以下给出一个函数形式的示例来说明上述功能。
function envoy(domainName,serviceName,onSuccess,onError)
domainName-要通讯的域名
serviceName-要请求的服务名
onSuccess-成功回调函数
onError-失败回调函数
通过使用本发明完全遵循浏览器域安全隔离机制,并且不需要用户降低安全级别、没有URL页面跳转以及不会频繁请求服务器,并且保证通讯双方有公平和对称的安全保护,实现不同域之间安全通讯。
本发明实施例二中提供一种跨域通讯的方法,该方法的流程图如图4所示,具体包括以下步骤:
S401、通讯双方服务器各部署一个页面文件,用于接受请求和响应请求。为了便于描述并基于上述部署的页面文件的功能把接收请求的页面称为ASK页面和回送响应的页面称为ACK页面。该页面文件可以为静态页面,也可以是动态页面。
该步骤中需要一个通讯页面的请求格式。这个格式必须是通讯双方都需要遵守的,因此是通讯协议的一部分。其中,需要说明的是:可以GET形式请求页面,并且通讯的命令和数据一般不能用URL的参数形式传递。
S402、当从一个网站的原页面中发出对不同域的另一网站的通讯请求时,原页面所在的浏览器会打开一个隐含页面,并利用该隐含页面去打开对方服务器部署的ASK页面,并将请求命令和参数传递过去。
该步骤中,打开隐含页面的方式有:打开不可见新窗口,打开不可见的iframe。
其中,请求命令使用附加在URL上的片段标识符形式来传递,而数据可以使用window对象的name属性来传递。
具体的URL上附加的片段标识符就是在一个URL之后添加一个“#”号,后跟任意字符串。片段标识符用于在一个页面上定位到指定的锚点(阅读位置),属于客户端处理,而非服务器处理。URL中的片段标识符发生的任何变化,对于服务器来说是相同的URL,而浏览器先天具有对相同URL页面的缓存机制。因此,除第一次请求这两个页面时会往返服务器之外,以后对这两个页面的请求都只会从浏览器的客户端缓存中读取,不会有往返服务器的开销。
S403、对方的ASK页面在收到请求后,执行相应的服务并取得结果数据。
S404、对方的ASK页面会打开一个隐含的新页面或用自己所在的页面,打开原域网站的ACK页面,并将取得的结果数据传到原域网站的ACK页面。
S405、原域网站的ACK页面将接收的结果数据传回原页面。
该步骤实现的前提是由于此时的ACK页面和原页面是处在同一个域中,因此可以访问到原页面,从而将结果数据传递给原页面
上述步骤中,请求和回送的数据都是以JSON格式的字符串形式来传递的。JSON格式是JavaScript语言原生的数据表示形式,具有形式简单、格式紧凑和转换方便等优点。
请求和回送的数据可以通过window对象的name属性来传递,这样可以传递很大的数据信息。也可通过全部采用片段标识符传递数据。
需要说明的是,为了方便开发人员使用,可以将上述数据参数封装成一系列JavaScript函数,提供给开发人员调用。
通过使用本发明完全遵循浏览器域安全隔离机制,并且不需要用户降低安全级别、没有URL页面跳转以及不会频繁请求服务器,并且保证通讯双方有公平和对称的安全保护,实现不同域之间安全通讯。
本发明实施例还提供一种跨域通讯的系统,如图5所述,包括:发送方100和接收方200,所述发送方100与所述接收方200位于不同的域中;
所述发送方100,用于向所述接收方200中用于接收数据的页面发送请求;并通过本地用于接收数据的页面,接收所述接收方200中用于发送数据的页面发送的响应;从所述本地用于接收数据的页面中获取所述响应。
所述接收方200,用于通过用于接收数据的页面接收所述发送方100发送的请求,处理所述接收方100发送的请求并得到响应,并通过用于发送数据的页面,向所述发送方100接收数据的页面发送所述响应。
本发明实施例还提供一种跨域通讯的装置,用于作为发送方与位于不同域中的接收方交互数据,如图6所示。包括:请求发送单元10、响应接收单元20以及数据获取单元30;
所述请求发送单元10,用于向所述接收方中用于接收数据的页面发送请求;
所述响应接收单元20,用于通过接收数据的页面,接收所述接收方中用于发送数据的页面发送的响应;
所述数据获取单元30,用于从所述发送方中用于接收数据的页面中获取所述响应。
其中,所述请求单元10还包括:发送数据页面和接收数据页面;
所述发送数据页面,用于通过所述用于发送数据的页面将请求命令和数据向所述接收方中用于接收数据的页面发送。
所述接收数据页面,用于接收接收方发送的响应。
其中,所述发送数据页面与所述接收数据页面为不同页面或为同一页面。并且所述发送数据的页面与所述接收数据的页面为动态页面或静态页面。
本发明实施例还提供一种跨域通讯的装置,用于作为接收方与位于不同域中的发送方交互数据,如图7所示。包括:请求接收单元40、处理单元50以及响应发送单元60;
所述请求接收单元40,用于接收数据的页面接收所述发送方发送的请求;所述处理单元50,用于处理所述接收方发送的请求并得到响应;
所述响应发送单元60,用于发送数据的页面,向所述发送方接收数据的页面发送所述响应。
其中,所述请求接收单元40包括:接收数据的页面用于接收所述请求命令和数据;
发送数据的页面,用于将所述请求命令和数据发送到所述处理单元
其中,请求接收单元40还包括:接收数据的页面和发送数据的页面;
所述接收数据的页面用于接收所述请求命令和数据;
所述发送数据的页面用于向所述发送方的接收数据的页面发送响应。其中,所述发送数据的页面与所述接收数据的页面为不同页面或为同一页面。并且所述发送数据的页面与所述接收数据的页面为动态页面或静态页面。
通过使用本发明完全遵循浏览器域安全隔离机制,并且不需要用户降低安全级别、没有URL页面跳转以及不会频繁请求服务器,并且保证通讯双方有公平和对称的安全保护,实现不同域名间安全通讯。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (19)

1.一种跨域通讯的方法,应用于包括发起方和接收方的系统中,所述发起方和接收方位于不同的域中,其特征在于,包括:
所述发送方向所述接收方中用于接收数据的页面发送请求,具体包括:所述发送方打开一个用于发送数据的隐含页面,通过所述用于发送数据的页面将请求命令和数据向所述接收方中用于接收数据的页面发送,所述请求命令使用附加在统一资源定位符URL上的片段标识符形式传递;所述数据使用window对象的name属性传递或采用片段标识符来传递;
所述发送方中用于接收数据的页面,接收所述接收方中用于发送数据的页面发送的响应;
所述发送方从所述发送方中用于接收数据的页面中获取所述响应;
其中,所述接收数据的页面与所述发送数据的页面具体为所述发起方和所述接收方服务器在跨域通讯前部署的页面文件。
2.如权利要求1所述的方法,其特征在于,所述发送数据的页面与所述接收数据的页面为不同页面或为同一页面。
3.如权利要求1所述的方法,其特征在于,所述隐含页面打开的方式包括:打开不可见窗口或打开不可见的iframe。
4.如权利要求1所述的方法,其特征在于,所述请求命令和数据通过GET形式携带。
5.如权利要求1所述的方法,其特征在于,所述请求和响应的数据使用JSON格式的字符串形式传递。
6.如权利要求1所述的方法,其特征在于,所述发送数据的页面与所述接收数据的页面为动态页面或静态页面。
7.一种跨域通讯的方法,应用于包括发起方和接收方的系统中,所述发起方和接收方位于不同的域中,其特征在于,包括:
所述接收方中用于接收数据的页面接收所述发送方发送的请求;
所述接收方处理所述接收方发送的请求并得到响应;
所述接收方中用于发送数据的页面,向所述发送方接收数据的页面发送所述响应,具体包括:所述接收方接收数据的页面直接打开所述发送方接收数据的页面并响应请求;或,所述接收方打开一个用于发送数据的隐含页面,并利用所述隐含页面打开发送方接收数据的页面并响应请求;所述响应使用附加在统一资源定位符URL上的片段标识符形式传递;所述数据使用window对象的name属性传递或采用片段标识符来传递;
其中,所述接收数据的页面与所述发送数据的页面具体为所述发起方和所述接收方服务器在跨域通讯前部署的页面文件。
8.如权利要求7所述的方法,其特征在于,所述发送数据的页面与所述接收数据的页面为不同页面或为同一页面。
所述接收方打开一个用于发送数据的隐含页面,并利用所述隐含页面打开发送方接收数据的页面并响应请求。
9.如权利要求7所述的方法,其特征在于,所述隐含页面打开的方式包括:打开不可见窗口或打开不可见的iframe。
10.如权利要求7所述的方法,其特征在于,所述响应的数据使用JSON格式的字符串形式传递。
11.如权利要求7所述的方法,其特征在于,所述发送数据的页面与所述接收数据的页面为动态页面或静态页面。
12.一种跨域通讯的系统,其特征在于,包括:发送方和接收方,所述发送方与所述接收方位于不同的域中;
所述发送方,用于向所述接收方中用于接收数据的页面发送请求,具体包括:所述发送方打开一个用于发送数据的隐含页面,通过所述用于发送数据的页面将请求命令和数据向所述接收方中用于接收数据的页面发送,所述请求命令使用附加在统一资源定位符URL上的片段标识符形式传递;所述数据使用window对象的name属性传递或采用片段标识符来传递;并通过本地用于接收数据的页面,接收所述接收方中用于发送数据的页面发送的响应;从所述本地用于接收数据的页面中获取所述响应;
所述接收方,用于通过用于接收数据的页面接收所述发送方发送的请求,处理所述接收方发送的请求并得到响应,并通过用于发送数据的页面,向所述发送方接收数据的页面发送所述响应,具体包括:所述接收方接收数据的页面直接打开所述发送方接收数据的页面并响应请求;或,所述接收方打开一个用于发送数据的隐含页面,并利用所述隐含页面打开发送方接收数据的页面并响应请求;所述响应使用附加在统一资源定位符URL上的片段标识符形式传递;所述数据使用window对象的name属性传递或采用片段标识符来传递;
其中,所述接收数据的页面与所述发送数据的页面具体为所述发起方和所述接收方服务器在跨域通讯前部署的页面文件。
13.一种跨域通讯的装置,用于作为发送方与位于不同域中的接收方交互数据,其特征在于,包括:请求发送单元、响应接收单元以及数据获取单元;
所述请求发送单元,用于向所述接收方中用于接收数据的页面发送请求,所述请求发送单元具体包括:发送数据的页面,用于通过所述用于发送数据的页面将请求命令和数据向所述接收方中用于接收数据的页面发送,所述请求命令使用附加在统一资源定位符URL上的片段标识符形式传递,所述数据使用window对象的name属性传递或采用片段标识符来传递;接收数据的页面,用于通过所述用于接收数据的页面接收响应;
所述响应接收单元,用于通过接收数据的页面,接收所述接收方中用于发送数据的页面发送的响应;
所述数据获取单元,用于从所述发送方中用于接收数据的页面中获取所述响应;
其中,所述接收数据的页面与所述发送数据的页面具体为所述发起方和所述接收方服务器在跨域通讯前部署的页面文件。
14.如权利要求13所述的装置,其特征在于,所述发送数据的页面与所述接收数据的页面为不同页面或为同一页面。
15.如权利要求13所述的装置,其特征在于,所述发送数据的页面与所述接收数据的页面为动态页面或静态页面。
16.一种跨域通讯的装置,用于作为接收方与位于不同域中的发送方交互数据,其特征在于,包括:请求接收单元、处理单元以及响应发送单元;
所述请求接收单元,用于接收数据的页面接收所述发送方发送的请求;
所述处理单元,用于处理所述接收方发送的请求并得到响应;
所述响应发送单元,用于发送数据的页面,向所述发送方接收数据的页面发送所述响应,具体包括:所述接收方接收数据的页面直接打开所述发送方接收数据的页面并响应请求;或,所述接收方打开一个用于发送数据的隐含页面,并利用所述隐含页面打开发送方接收数据的页面并响应请求;所述响应使用附加在统一资源定位符URL上的片段标识符形式传递;所述数据使用window对象的name属性传递或采用片段标识符来传递;
其中,所述接收数据的页面与所述发送数据的页面具体为所述发起方和所述接收方服务器在跨域通讯前部署的页面文件。
17.如权利要求16所述的装置,其特征在于,所述请求接收单元包括:
接收数据的页面,用于接收所述发送方发送的请求命令和数据;
发送数据的页面,用于向所述发送方的接收数据的页面发送响应。
18.如权利要求16所述的装置,其特征在于,所述发送数据的页面与所述接收数据的页面为不同页面或为同一页面。
19.如权利要求16所述的装置,其特征在于,所述发送数据的页面与所述接收数据的页面为动态页面或静态页面。
CN200810147259.3A 2008-08-25 2008-08-25 一种跨域通讯的方法、系统和装置 Active CN101662460B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN200810147259.3A CN101662460B (zh) 2008-08-25 2008-08-25 一种跨域通讯的方法、系统和装置
US12/583,362 US8090763B2 (en) 2008-08-25 2009-08-18 Method and apparatus for cross-domain communication using designated response processing page
JP2011524974A JP5689799B2 (ja) 2008-08-25 2009-08-20 クロスドメイン通信のための方法及び装置
PCT/US2009/004751 WO2010024863A1 (en) 2008-08-25 2009-08-20 Method and apparatus for cross-domain communication
EP09810347.6A EP2318941A4 (en) 2008-08-25 2009-08-20 METHOD AND DEVICE FOR COMMUNICATING BETWEEN DOMAINS
HK10107404.3A HK1141170A1 (zh) 2008-08-25 2010-08-03 種跨域通訊的方法、系統和裝置
US14/139,426 USRE45139E1 (en) 2008-08-25 2013-12-23 Method and apparatus for cross-domain communication using designated response processing page

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810147259.3A CN101662460B (zh) 2008-08-25 2008-08-25 一种跨域通讯的方法、系统和装置

Publications (2)

Publication Number Publication Date
CN101662460A CN101662460A (zh) 2010-03-03
CN101662460B true CN101662460B (zh) 2015-07-15

Family

ID=41697321

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810147259.3A Active CN101662460B (zh) 2008-08-25 2008-08-25 一种跨域通讯的方法、系统和装置

Country Status (6)

Country Link
US (2) US8090763B2 (zh)
EP (1) EP2318941A4 (zh)
JP (1) JP5689799B2 (zh)
CN (1) CN101662460B (zh)
HK (1) HK1141170A1 (zh)
WO (1) WO2010024863A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8914539B2 (en) * 2010-03-12 2014-12-16 Salesforce.Com, Inc. Service cloud console
US8539234B2 (en) * 2010-03-30 2013-09-17 Salesforce.Com, Inc. Secure client-side communication between multiple domains
CN102486780A (zh) * 2010-12-01 2012-06-06 腾讯科技(深圳)有限公司 异步跨域传输xml数据的方法、客户端和服务端
CN102571851B (zh) * 2010-12-27 2015-03-25 阿里巴巴集团控股有限公司 一种数据通信方法和系统
CN102307220B (zh) * 2011-03-18 2014-04-02 北京思特奇信息技术股份有限公司 一种跨域网页信息交互方法
CN102184220A (zh) * 2011-05-06 2011-09-14 中兴通讯股份有限公司 跨域页面显示控制方法及装置
US20120303453A1 (en) * 2011-05-26 2012-11-29 Yahoo! Inc. Methods and systems for securely targeting advertisements on login pages
US9215096B2 (en) 2011-08-26 2015-12-15 Salesforce.Com, Inc. Computer implemented methods and apparatus for providing communication between network domains in a service cloud
CN102984179A (zh) * 2011-09-02 2013-03-20 广东电子工业研究院有限公司 一种面向云计算操作系统进行Web服务跨域访问的方法
US8898780B2 (en) * 2011-11-07 2014-11-25 Qualcomm Incorporated Encoding labels in values to capture information flows
WO2013102486A1 (en) * 2012-01-02 2013-07-11 Nokia Siemens Networks Oy Method and device for conveying data across at least two domains
CN103246667A (zh) * 2012-02-08 2013-08-14 腾讯科技(深圳)有限公司 数据跨域传递的方法及装置
CN103294672B (zh) * 2012-02-23 2017-05-10 腾讯科技(深圳)有限公司 一种用于实现跨域拖动的方法、系统和装置
CN103309861B (zh) * 2012-03-07 2018-04-10 阿里巴巴集团控股有限公司 跨域数据获取的方法与装置
CN103309877B (zh) * 2012-03-12 2017-04-05 腾讯科技(深圳)有限公司 跨域通讯及全双工通讯的方法、装置
US20130262977A1 (en) * 2012-03-30 2013-10-03 International Business Machines Corporation Controlling Browser Preferences with a Rich Internet Application
CN102662600B (zh) * 2012-04-28 2013-11-27 北京亿中邮信息技术有限公司 一种不同域名下文件相互拖拽的方法
US9154470B2 (en) 2012-05-25 2015-10-06 Canon U.S.A., Inc. System and method for processing transactions
CN103634338B (zh) * 2012-08-21 2017-04-12 北京亿赞普网络技术有限公司 在线修改网页主域标题的方法、数据处理装置和系统
CN103152445B (zh) * 2013-04-03 2016-02-03 晶赞广告(上海)有限公司 一种互联网安全的异步跨域身份标识映射方法
CN104426864B (zh) * 2013-08-28 2019-01-08 腾讯科技(深圳)有限公司 跨域远程命令的实现方法及系统
CN103546570A (zh) * 2013-10-29 2014-01-29 小米科技有限责任公司 网络客户端跨域请求数据的实现方法、装置及终端
CN103870551B (zh) * 2014-02-28 2018-02-23 小米科技有限责任公司 一种跨域数据获取的方法和装置
CN104301379A (zh) * 2014-08-28 2015-01-21 北京奇虎科技有限公司 一种网页跨域通信方法和装置
CN105471824A (zh) * 2014-09-03 2016-04-06 阿里巴巴集团控股有限公司 实现浏览器调用本地业务组件的方法、装置及系统
CN104572263B (zh) * 2014-12-30 2017-11-07 腾讯科技(深圳)有限公司 一种页面数据交互方法、相关装置及系统
CN105491116B (zh) * 2015-11-26 2019-04-26 广州华多网络科技有限公司 一种跨窗口提交数据的方法及系统
GB2548405B (en) * 2016-03-18 2019-08-14 Advanced Risc Mach Ltd Combination of control interfaces for multiple communicating domains
CN107220260B (zh) 2016-03-22 2020-07-24 阿里巴巴集团控股有限公司 一种页面显示的方法及装置
CN107070870B (zh) * 2017-01-09 2020-04-14 阿里巴巴集团控股有限公司 一种数据获取方法和装置
US11165751B2 (en) 2017-02-16 2021-11-02 Emerald Cactus Ventures, Inc. System and method for establishing simultaneous encrypted virtual private networks from a single computing device
US11122013B2 (en) * 2017-02-16 2021-09-14 Emerald Cactus Ventures, Inc. System and method for encrypting data interactions delineated by zones
US11165825B2 (en) 2017-02-16 2021-11-02 Emerald Cactus Ventures, Inc. System and method for creating encrypted virtual private network hotspot
US10733376B2 (en) * 2017-03-01 2020-08-04 Google Llc Delivering auto-play media content element from cross origin resources
CN107749858A (zh) * 2017-11-06 2018-03-02 郑州云海信息技术有限公司 一种端点之间切换方法及装置
CN110209959B (zh) * 2018-02-11 2024-01-12 北京京东尚科信息技术有限公司 信息处理方法和装置
CN110928699A (zh) * 2018-09-20 2020-03-27 北京京东尚科信息技术有限公司 一种前端跨域事件处理方法和装置
CN109450973A (zh) * 2018-09-29 2019-03-08 福建威盾科技有限公司 一种跨域浏览器数据共享的方法
CN111049851B (zh) * 2019-12-24 2021-10-01 中国电子科技集团公司第五十四研究所 一种跨域传输业务多级多维联动管控系统
CN112905940A (zh) * 2021-02-25 2021-06-04 平安普惠企业管理有限公司 页面通讯方法、装置、计算机设备以及存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142622A (en) 1989-01-31 1992-08-25 International Business Machines Corporation System for interconnecting applications across different networks of data processing systems by mapping protocols across different network domains
US5802590A (en) 1994-12-13 1998-09-01 Microsoft Corporation Method and system for providing secure access to computer resources
US5895499A (en) 1995-07-03 1999-04-20 Sun Microsystems, Inc. Cross-domain data transfer using deferred page remapping
US6125384A (en) 1996-12-23 2000-09-26 International Business Machines Corporation Computer apparatus and method for communicating between software applications and computers on the world-wide web
US5961593A (en) 1997-01-22 1999-10-05 Lucent Technologies, Inc. System and method for providing anonymous personalized browsing by a proxy system in a network
US6934757B1 (en) 2000-01-06 2005-08-23 International Business Machines Corporation Method and system for cross-domain service invocation using a single data handle associated with the stored common data and invocation-specific data
US7640512B1 (en) * 2000-12-22 2009-12-29 Automated Logic Corporation Updating objects contained within a webpage
IL142815A (en) * 2001-04-25 2010-06-16 Gal Trifon A method for dynamically changing one web page to another web page
US8280819B2 (en) * 2004-07-09 2012-10-02 Ebay Inc. Method and apparatus for securely displaying and communicating trusted and untrusted internet content
US7506248B2 (en) * 2005-10-14 2009-03-17 Ebay Inc. Asynchronously loading dynamically generated content across multiple internet domains
US7895604B2 (en) 2005-11-17 2011-02-22 Opera Software Asa Method and device for event communication between documents
US20070256003A1 (en) * 2006-04-24 2007-11-01 Seth Wagoner Platform for the interactive contextual augmentation of the web
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US8250082B2 (en) * 2006-06-23 2012-08-21 Microsoft Corporation Cross domain communication
US7860751B2 (en) 2006-06-27 2010-12-28 Google Inc. Cross domain customer interface updates
US20080010359A1 (en) * 2006-07-10 2008-01-10 Jeffrey Mark Achtermann Computer implemented method and system for managing server-based rendering of messages in a heterogeneous environment
US20090037935A1 (en) * 2006-08-07 2009-02-05 Shoumen Saha Updating The Configuration of Container Documents
US8185830B2 (en) * 2006-08-07 2012-05-22 Google Inc. Configuring a content document for users and user groups
US8407250B2 (en) * 2006-08-07 2013-03-26 Google Inc. Distribution of content document to varying users with security customization and scalability
WO2008024706A2 (en) * 2006-08-21 2008-02-28 Crazy Egg, Inc. Visual web page analytics
CN101192227B (zh) * 2006-11-30 2011-05-25 阿里巴巴集团控股有限公司 一种基于分布式计算网络的日志文件分析方法和系统
ES2368366T3 (es) * 2007-05-07 2011-11-16 Vorne Industries, Inc. Método y sistema para ampliar las capacidades de dispositivos integrados a través de clientes de red.
US7809785B2 (en) * 2007-05-28 2010-10-05 Google Inc. System using router in a web browser for inter-domain communication
US7979791B2 (en) * 2007-07-30 2011-07-12 Google Inc. Cross-domain communication
US20090199083A1 (en) * 2008-01-17 2009-08-06 Can Sar Method of enabling the modification and annotation of a webpage from a web browser
US10664889B2 (en) * 2008-04-01 2020-05-26 Certona Corporation System and method for combining and optimizing business strategies
US8793614B2 (en) * 2008-05-23 2014-07-29 Aol Inc. History-based tracking of user preference settings
US8209706B2 (en) * 2008-06-27 2012-06-26 Microsoft Corporation Inter-frame messaging between different domains

Also Published As

Publication number Publication date
WO2010024863A1 (en) 2010-03-04
HK1141170A1 (zh) 2010-10-29
USRE45139E1 (en) 2014-09-16
EP2318941A1 (en) 2011-05-11
CN101662460A (zh) 2010-03-03
JP5689799B2 (ja) 2015-03-25
US8090763B2 (en) 2012-01-03
US20100049782A1 (en) 2010-02-25
EP2318941A4 (en) 2013-05-08
JP2012501034A (ja) 2012-01-12

Similar Documents

Publication Publication Date Title
CN101662460B (zh) 一种跨域通讯的方法、系统和装置
CN104767775B (zh) 网页应用消息推送方法及系统
CN102891889B (zh) 一种信息共享方法和装置
CN102624729B (zh) 一种web认证的方法、装置及系统
US8448241B1 (en) Browser extension for checking website susceptibility to cross site scripting
US10356153B2 (en) Transferring session data between network applications accessible via different DNS domains
CN103384993B (zh) 用户设备访问网页的重定向方法、网关以及服务器
CN104378382A (zh) 一种多商户无线认证系统及其认证方法
US20150304384A1 (en) Apparatus and method for accessing web in network system
CN109862130B (zh) 一种访问IPv4外链方法、装置、设备及计算机介质
US10447633B2 (en) Method and system for optimizing and preventing failure of sender policy framework (SPF) lookups
Maksutov et al. Detection and prevention of DNS spoofing attacks
CN105162802B (zh) Portal认证方法及认证服务器
CN105635073A (zh) 访问控制方法、装置和网络接入设备
CN103024740A (zh) 移动终端访问互联网的方法及系统
EP2002362A2 (en) Method and system for providing improved url mangling performance using fast re-write
CN105812323A (zh) 一种网络跨域访问数据的方法和装置
JP5347429B2 (ja) ユニフォームリソースロケータ書換方法及び装置
CN102970384A (zh) 代理服务器和通信系统
US10587561B2 (en) Method and system for optimizing and preventing failure of Sender Policy Framework (SPF) lookups by dynamically generating and returning flattened SPF records
WO2017020597A1 (zh) 一种资源缓存方法及装置
JP2015130657A (ja) 情報送受信システム及び端末装置
TWI486039B (zh) Inter-domain communication methods, systems and devices
KR100644411B1 (ko) 웹 사이트 인증 정보 제공 방법 및 장치
KR20160047760A (ko) 2채널 인증을 이용한 웹 사이트 검증 장치 및 그 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1141170

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1141170

Country of ref document: HK