欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種跨域通訊的方法、系統(tǒng)和裝置的制作方法

文檔序號:7918775閱讀:213來源:國知局
專利名稱:一種跨域通訊的方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種跨域通訊的方法、系統(tǒng)和裝置。
背景技術(shù)
由于瀏覽器客戶端為訪問者提供了基于域的安全隔離機制,來防止不 同網(wǎng)站間的程序互相訪問對方的數(shù)據(jù),以保護訪問者在一個網(wǎng)站的隱私數(shù) 據(jù)不會被另 一個網(wǎng)站所竊取。瀏覽器的這個安全機制在給訪問者提供安全 保障的同時,也給網(wǎng)站開發(fā)帶來障礙。對于一個擁有多個域名的大型網(wǎng)站 平臺或者相互信任的不同網(wǎng)站來說,網(wǎng)站間的數(shù)據(jù)交換和相互服務(wù)是很正 常的事情。
現(xiàn)有技術(shù)中跨域通訊的方法主要有
現(xiàn)有技術(shù)一利用瀏覽器的安全漏洞來通訊。不斷挖掘瀏覽器的安全漏 洞,實現(xiàn)跨域訪問和交換數(shù)據(jù)。
現(xiàn)有技術(shù)二設(shè)置瀏覽器允許跨域訪問。要求用戶降低瀏覽器安全標準, 設(shè)置瀏覽器允許跨域訪問。
現(xiàn)有技術(shù)三利用不同網(wǎng)站間的URL ( Uniform Resource Locator,統(tǒng)一 資源定位符)跳轉(zhuǎn)來通訊。 一個域請求另一個域的網(wǎng)頁,并將要交換的信 息以URL參數(shù)等形式傳遞;對方回送信息也是讓瀏覽器重定向回原來域的 網(wǎng)頁,并將回送信息以URL參數(shù)形式返回等。
現(xiàn)有技術(shù)四利用跨域的腳本引用。 一個域的網(wǎng)頁用〈script〉標簽引用另 一個域的js (javascript腳本)文件內(nèi)容,并將發(fā)送數(shù)據(jù)以URL的參數(shù)形 式傳遞過去。另一個域的這個js文件可以編寫任意腳本來將數(shù)據(jù)直接送到 當前網(wǎng)頁中。
在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題利用瀏覽器的安全漏洞來通訊時,惡意網(wǎng)站也能利用安全漏洞實施攻 擊,而且隨著瀏覽器的修補和升級,需要尋找新的漏洞。
設(shè)置瀏覽器允許跨域訪問時,要求訪問者降低瀏覽器安全級別同樣會 讓惡意網(wǎng)站有才幾可乘。
利用不同網(wǎng)站間的URL跳轉(zhuǎn)來通訊時,每次數(shù)據(jù)通訊需要多次往返服 務(wù)器,服務(wù)器壓力很大,效率低下,攻擊者可以從瀏覽器的地址欄上看到 URL傳遞的數(shù)據(jù)信息,有安全隱患,并且由于URL長度限制,無法傳遞 大型數(shù)據(jù)
利用跨域的腳本引用時,每次通訊需要請求服務(wù)器生成新腳本,比較 復(fù)雜,并且一方完全將自己的數(shù)據(jù)暴露給另一方的腳本,另一方可以竊取 任何東西。

發(fā)明內(nèi)容
本發(fā)明提供了一種跨域通訊的方法、系統(tǒng)和裝置,用于在保證瀏覽的域 安全隔離前提下,實現(xiàn)不同域名間安全通訊。
本發(fā)明提供了 一種跨域通訊的方法,應(yīng)用于包括發(fā)起方和接收方的系統(tǒng) 中,所述發(fā)起方和接收方位于不同的域中,包括
所述發(fā)送方向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送請求;
所述發(fā)送方中用于接收數(shù)據(jù)的頁面,接收所述接收方中用于發(fā)送數(shù)據(jù)的 頁面發(fā)送的響應(yīng);
所述發(fā)送方從所述發(fā)送方中用于接收數(shù)據(jù)的頁面中獲取所述響應(yīng)。
本發(fā)明還提供了 一種跨域通訊的方法,應(yīng)用于包括發(fā)起方和接收方的系 統(tǒng)中,所述發(fā)起方和接收方位于不同的域中,包括
所述接收方中用于接收數(shù)據(jù)的頁面接收所述發(fā)送方發(fā)送的請求;
所述接收方處理所述接收方發(fā)送的請求并得到響應(yīng);
所述接收方中用于發(fā)送數(shù)據(jù)的頁面,向所述發(fā)送方接收數(shù)據(jù)的頁面發(fā)送 所述響應(yīng)。
7本發(fā)明還提供一種跨域通訊的系統(tǒng),包括發(fā)送方和接收方,所述發(fā)送 方與所述接收方位于不同的域中;
所述發(fā)送方,用于向所述接收方中用于接收翁:據(jù)的頁面發(fā)送請求;并通 過本地用于接收數(shù)據(jù)的頁面,接收所述接收方中用于發(fā)送數(shù)據(jù)的頁面發(fā)送的 響應(yīng);從所述本地用于接收數(shù)據(jù)的頁面中獲取所述響應(yīng);
所述接收方,用于通過用于接收數(shù)據(jù)的頁面接收所述發(fā)送方發(fā)送的請求, 處理所述接收方發(fā)送的請求并得到響應(yīng),并通過用于發(fā)送數(shù)據(jù)的頁面,向所 述發(fā)送方接收數(shù)據(jù)的頁面發(fā)送所述響應(yīng)。
本發(fā)明還提供一種跨域通訊的裝置,包括請求發(fā)送單元、響應(yīng)接收單 元以及數(shù)據(jù)獲取單元;
所述請求發(fā)送單元,用于向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送請求;
所述響應(yīng)接收單元,用于通過接收數(shù)據(jù)的頁面,接收所述接收方中用于 發(fā)送數(shù)據(jù)的頁面發(fā)送的響應(yīng);
所述數(shù)據(jù)獲取單元,用于從所述發(fā)送方中用于接收數(shù)據(jù)的頁面中獲取所 述響應(yīng)。
本發(fā)明還提供一種跨域通訊的裝置,包括請求接收單元、處理單元以 及響應(yīng)發(fā)送單元;
所述請求接收單元,用于接收數(shù)據(jù)的頁面接收所述發(fā)送方發(fā)送的請求; 所述處理單元,用于處理所述接收方發(fā)送的:f青求并^/尋到響應(yīng); 所述響應(yīng)發(fā)送單元,用于發(fā)送數(shù)據(jù)的頁面,向所述發(fā)送方接收數(shù)據(jù)的頁 面發(fā)送所述響應(yīng)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點
通過使用本發(fā)明完全遵循瀏覽器域安全隔離機制,并且不需要用戶降 低安全級別、沒有URL頁面跳轉(zhuǎn)以及不會頻繁請求服務(wù)器,并且保證通訊 雙方有公平和對稱的安全保護,實現(xiàn)不同域之間安全通訊。


圖1為本發(fā)明實施例一種if爭域通訊方法的流程8圖l-A為本發(fā)明實施例一種跨域通訊方法的又一流程圖2為本發(fā)明實施例中一種跨域通訊方法原理圖3為本發(fā)明實施例一中一種跨域通訊方法的流程圖4為本發(fā)明實施例二中 一種跨域通訊方法的流程圖5為本發(fā)明實施例中 一種跨域通訊的系統(tǒng)圖6為本發(fā)明實施例中一種跨域通訊裝置的結(jié)構(gòu)圖7為本發(fā)明實施例中又一跨域通訊裝置的結(jié)構(gòu)圖。
具體實施例方式
本發(fā)明實施例提供一種跨域通訊的方法、系統(tǒng)和裝置,用于在保證瀏
覽的域安全隔離前提下,實現(xiàn)不同域之間安全通訊。
以下結(jié)合附圖和實施例,對本發(fā)明的實施方式作進 一 步說明。 本發(fā)明實施例提供一種跨域通訊的方法,具體流程如圖1所示,包括 S101 、所述發(fā)送方向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送請求。 S102、所述發(fā)送方中用于接收數(shù)據(jù)的頁面,接收所述接收方中用于發(fā)送
數(shù)據(jù)的頁面發(fā)送的響應(yīng)。
本發(fā)明實施例還提供一種^f爭域通訊的方法,具體流程如圖l-A所示, 包括
5101- A、所述接收方中用于接收數(shù)據(jù)的頁面接收所述發(fā)送方發(fā)送的請求。
5102- A、所述接收方處理所述接收方發(fā)送的請求并得到響應(yīng)。
5103- A、所述接收方中用于發(fā)送數(shù)據(jù)的頁面,向所述發(fā)送方接收數(shù)據(jù)的 頁面發(fā)送所述響應(yīng)。
通過使用本發(fā)明完全遵循瀏覽器域安全隔離機制,并且不需要用戶降 低安全級別、沒有URL頁面跳轉(zhuǎn)以及不會頻繁請求服務(wù)器,并且保證通訊 雙方有公平和對稱的安全保護,實現(xiàn)不同域之間安全通訊。
本發(fā)明實施例一中提供一種跨域通訊的方法,如圖2所示為該方法的 原理圖,各個部分的詳細原理如下(1) 在實現(xiàn);夸域傳遞前,通訊雙方服務(wù)器首先部署兩個頁面文件,一 個用于接收請求一個用于回送響應(yīng)。在瀏覽器^E爭域通訊過程中,瀏覽器打 開通訊雙方服務(wù)器部署的頁面文件進行跨域通訊的數(shù)據(jù)傳遞。需要說明的 是"部署"是指在遠端的服務(wù)器上放置這些頁面文件,而"打開,,是指本 地瀏覽器向遠端服務(wù)器部署的頁面文件發(fā)送訪問請求。
(2) 在實現(xiàn)S爭域傳遞時,通訊發(fā)起方的一個原始頁向?qū)Ψ接虻耐ㄓ嵔?收方發(fā)送跨域傳遞請求命令和參數(shù)時,原始頁所在的瀏覽器會打開服務(wù)器
端的一個隱含頁面,利用該隱含頁面去打開對方域服務(wù)器中部署的ASK頁 面,并將通訊請求所需的命令和數(shù)據(jù)通過該請求URL片段標識符以及該頁 面window對象的name屬性傳遞過去。其中原始頁是通訊發(fā)起方發(fā)起通訊 時所在的頁面,并且所述原始頁是處在通訊發(fā)起方的域內(nèi),例如isv.com。
(3) 通訊接收方通過接收請求頁面ASK^妄收請求命令和參數(shù),并向 服務(wù)器提取結(jié)果數(shù)據(jù)。該過程的實現(xiàn)是由于ASK頁面處于通訊接收方的域 中,例如alisoft.com,所以可以根據(jù)對方的請求命令取得該域內(nèi)的相關(guān)數(shù) 據(jù)。
(4) 通訊接收方通過接收請求頁面ASK獲得結(jié)果數(shù)據(jù)后,該接收請 求頁面ASK會直接打開通訊發(fā)起方服務(wù)器部署的回送響應(yīng)頁面ACK,或 再打開一個隱含頁面并利用該隱含頁面去打開通訊發(fā)起方服務(wù)器部署的回 送響應(yīng)頁面ACK,并將要回送的位置和數(shù)據(jù)通過URL的片段標識符以及 頁面window對象的name屬性傳遞到上述的回送響應(yīng)頁面ACK中。其中 ACK頁面位于通訊發(fā)起方的域中,例如isv.com,所以在回送響應(yīng)頁面ACK 接收到結(jié)果數(shù)據(jù)后將所述結(jié)果數(shù)據(jù)傳遞回通訊發(fā)起方的原始頁。
其中,ASK頁面用于接收跨域傳遞請求命令,并根據(jù)該命令提取結(jié)果 數(shù)據(jù);ACK頁面用于接收ASK頁面發(fā)送的結(jié)果數(shù)據(jù),并將結(jié)果數(shù)據(jù)傳回 原域的原始頁。需要說明的是,通訊雙方只有在第一次傳遞跨域請求時, 需要通過通訊接收方的服務(wù)器進行數(shù)據(jù)傳遞。在以后的跨域傳遞中,瀏覽 器利用自身緩存功能將第一次發(fā)送的參數(shù)緩存在瀏覽器內(nèi)部,當通訊接收 方接收跨域傳遞請求時直接在瀏覽器緩存中提取結(jié)果數(shù)據(jù)。本發(fā)明實施例提供的跨域通訊方法的流程圖如圖3所示,具體包括以
下步驟
5301、 通訊雙方服務(wù)器各部署兩個頁面文件, 一個用于接受請求的頁 面ASK, 一個用于回送響應(yīng)的頁面ACK。部署兩個頁面文件可以完成雙 向請求通訊。
需要說明的是,接受請求的ASK頁面一般是靜態(tài)頁面,在需要附加額 外的HTTP (HyperText Markup Language,超文本傳輸協(xié)議)頭信息時也 可以是動態(tài)頁面。而回送響應(yīng)的ACK頁面可以完全是靜態(tài)頁面。ASK頁 面和ACK頁面是雙方通訊的基本頁面。當通ifl發(fā)生時,通訊的雙方會相 互^青求這些基礎(chǔ)頁面。這兩個用于通iK的頁面祐:鄉(xiāng)充稱為通ifl頁面。
該步驟中需要兩個通訊頁面的請求才各式。這個格式必須是通訊雙方都 需要遵守的,因此是通訊協(xié)議的一部分。其中,需要注意的是可以使用 GET形式請求頁面,并且通訊的命令和數(shù)據(jù)一般不能用URL的參數(shù)形式 傳遞。
5302、 當從一個網(wǎng)站的原頁面中發(fā)出對不同^l的另 一網(wǎng)站的通訊請求 時,原頁面所在的瀏覽器會打開一個隱含頁面,并利用該隱含頁面去打開 對方服務(wù)器部署的ASK頁面,并將請求命令和參數(shù)傳遞過去。
其中,打開隱藏頁面的方式有打開不可見新窗口或打開不可見的 iframe。
其中,請求命令使用附加在URL上的片段標識符形式來傳遞,而數(shù)據(jù) 可以使用window對象的name屬性來傳遞。
具體的URL上附加的片段標識符就是在一個URL之后添加一個"#,, 號,后跟任意字符串。片段標識符用于在一個頁面上定位到指定的錨點(閱 讀位置),屬于客戶端處理,而非服務(wù)器處理。URL中的片段標識符發(fā)生 的任何變化,對于服務(wù)器來說是相同的URL,而瀏覽器先天具有對相同 URL頁面的緩存機制。因此,除第一次請求這兩個頁面時會往返服務(wù)器之 外,以后對這兩個頁面的請求都只會從瀏覽器的客戶端緩存中讀取,不會 有往返服務(wù)器的開銷。
ii5303、 對方的ASK頁面在收到請求后,執(zhí)行相應(yīng)的服務(wù)并取得結(jié)果數(shù)據(jù)。
5304、 對方的ASK頁面會打開一個隱含的新頁面或用自己所在的頁 面,打開原域網(wǎng)站的ACK頁面,并將取得的結(jié)果數(shù)據(jù)傳到原域網(wǎng)站的ACK 頁面。
瀏覽器安全隔離機制禁止一個域的頁面的程序直接操作另 一個頁面的 內(nèi)容和數(shù)據(jù)。但是, 一個域的頁面可以在打開另一個域的頁面時,將數(shù)據(jù) 通過URL或window對象的name屬性等方式,將婆史據(jù)傳遞給對方頁面。
5305、 原域網(wǎng)站的ACK頁面將接收的結(jié)果數(shù)據(jù)傳回原頁面。 上述步驟可以用一個例子加以說明,例如 一個對ASK頁面的典型請
求如下
m
通過該請求,向 htt。:〃www.alisoft.com/ASK.HTM 頁面請求 envoyl23@www.isv.com的用戶名(GetUserName )。 一個對ACK頁面的典型回送如下 http:〃www.isv.com/ACK.HTM#envoyl23
通過該回送,向http:〃www.isv.com/ACK.HTM頁面發(fā)送字符串 頃ovl23作為對上述請求的響應(yīng)
需要注意的是,步驟s305實現(xiàn)的前提是由于此時的ACK頁面和原頁 面是處在同一個域中,因此可以訪問到原頁面,從而將結(jié)果數(shù)據(jù)傳遞給原 頁面。
上述步驟中,請求和回送的數(shù)據(jù)都是以JSON格式的字符串形式來傳 遞的。JSON格式是JavaScript語言原生的數(shù)據(jù)表示形式,具有形式簡單、 格式緊湊和轉(zhuǎn)換方便等優(yōu)點。
請求和回送的數(shù)據(jù)可以通過window對象的name屬性來傳遞,這樣可 以傳遞很大的數(shù)據(jù)信息。也可通過全部采用片段標識符傳遞數(shù)據(jù)。
需要說明的是,為了方便開發(fā)人員使用,可以將上述數(shù)據(jù)參數(shù)封裝成一系列JavaScript函數(shù),提供給開發(fā)人員調(diào)用。
以下給出 一個函數(shù)形式的示例來說明上述功能。
function envoy ( domainName, serviceName, onSuccess, onError )
domainName -要通i凡的i或名
serviceName —要^青求的月l務(wù)名
onSuccess —成功回調(diào)函婆t
onError —失敗回調(diào)函l史
通過使用本發(fā)明完全遵循瀏覽器域安全隔離機制,并且不需要用戶降 低安全級別、沒有URL頁面跳轉(zhuǎn)以及不會頻繁請求服務(wù)器,并且保證通訊 雙方有公平和對稱的安全保護,實現(xiàn)不同域之間安全通訊。
本發(fā)明實施例二中提供一種跨域通訊的方法,該方法的流程圖如圖4 所示,具體包括以下步驟
5401、 通訊雙方服務(wù)器各部署一個頁面文件,用于接受請求和響應(yīng)請 求。為了便于描述并基于上述部署的頁面文件的功能把接收請求的頁面稱 為ASK頁面和回送響應(yīng)的頁面稱為ACK頁面。該頁面文件可以為靜態(tài)頁 面,也可以是動態(tài)頁面。
該步驟中需要一個通訊頁面的請求格式。這個格式必須是通訊雙方都 需要遵守的,因此是通訊協(xié)議的一部分。其中,需要說明的是可以GET 形式請求頁面,并且通訊的命令和數(shù)據(jù)一般不能用URL的參數(shù)形式傳遞。
5402、 當從一個網(wǎng)站的原頁面中發(fā)出對不同域的另 一 網(wǎng)站的通訊請求 時,原頁面所在的瀏覽器會打開一個隱含頁面,并利用該隱含頁面去打開 對方服務(wù)器部署的ASK頁面,并將請求命令和參數(shù)傳遞過去。
該步驟中,打開隱含頁面的方式有打開不可見新窗口,打開不可見 的iframe。
其中,請求命令使用附加在URL上的片段標識符形式來傳遞,而數(shù)據(jù) 可以使用window對象的name屬性來傳遞。
具體的URL上附加的片段標識符就是在一個URL之后添加一個"#"號,后跟任意字符串。片段標識符用于在一個頁面上定位到指定的錨點(閱
讀位置),屬于客戶端處理,而非服務(wù)器處理。URL中的片段標識符發(fā)生 的任何變化,對于服務(wù)器來說是相同的URL,而瀏覽器先天具有對相同 URL頁面的緩存機制。因此,除第一次請求這兩個頁面時會往返服務(wù)器之 外,以后對這兩個頁面的請求都只會從瀏覽器的客戶端緩存中讀取,不會 有往返服務(wù)器的開銷。
5403、 對方的ASK頁面在收到請求后,執(zhí)行相應(yīng)的服務(wù)并取得結(jié)果數(shù)據(jù)。
5404、 對方的ASK頁面會打開一個隱含的新頁面或用自己所在的頁 面,打開原域網(wǎng)站的ACK頁面,并將取得的結(jié)果數(shù)據(jù)傳到原域網(wǎng)站的ACK 頁面。
5405、 原域網(wǎng)站的ACK頁面將接收的結(jié)果數(shù)據(jù)傳回原頁面。 該步驟實現(xiàn)的前提是由于此時的ACK頁面和原頁面是處在同一個域
中,因此可以訪問到原頁面,從而將結(jié)果數(shù)據(jù)傳遞給原頁面
上述步驟中,請求和回送的數(shù)據(jù)都是以JSON格式的字符串形式來傳 遞的。JSON格式是JavaScript語言原生的數(shù)據(jù)表示形式,具有形式簡單、
格式緊湊和轉(zhuǎn)換方便等優(yōu)點。
請求和回送的數(shù)據(jù)可以通過window對象的name屬性來傳遞,這樣可 以傳遞很大的數(shù)據(jù)信息。也可通過全部采用片段標識符傳遞數(shù)據(jù)。
需要說明的是,為了方便開發(fā)人員使用,可以將上述數(shù)據(jù)參數(shù)封裝成 一系列JavaScript函數(shù),提供給開發(fā)人員調(diào)用。
通過使用本發(fā)明完全遵循瀏覽器域安全隔離機制,并且不需要用戶降 低安全級別、沒有URL頁面跳轉(zhuǎn)以及不會頻繁請求服務(wù)器,并且保證通訊 雙方有公平和對稱的安全保護,實現(xiàn)不同域之間安全通訊。
本發(fā)明實施例還提供一種跨域通訊的系統(tǒng),如圖5所述,包括發(fā)送 方100和接收方200,所述發(fā)送方100與所述接收方200位于不同的域中;
所述發(fā)送方100,用于向所述接收方200中用于接收數(shù)據(jù)的頁面發(fā)送請 求;并通過本地用于接收數(shù)據(jù)的頁面,接收所述^l妄收方200中用于發(fā)送數(shù)據(jù)的頁面發(fā)送的響應(yīng);從所述本地用于接收數(shù)據(jù)的頁面中獲取所述響應(yīng)。
所述接收方200,用于通過用于接收數(shù)據(jù)的頁面接收所述發(fā)送方100發(fā)送
的請求,處理所述接收方100發(fā)送的請求并得到響應(yīng),并通過用于發(fā)送數(shù)據(jù)
的頁面,向所述發(fā)送方IOO接收數(shù)據(jù)的頁面發(fā)送所述響應(yīng)。
本發(fā)明實施例還提供一種跨域通訊的裝置,用于作為發(fā)送方與位于不同
域中的接收方交互數(shù)據(jù),如圖6所示。包括請求發(fā)送單元10、響應(yīng)接收單
元20以及數(shù)據(jù)獲取單元30;
所述請求發(fā)送單元10,用于向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送請
求;
所述響應(yīng)接收單元20,用于通過接收數(shù)據(jù)的頁面,接收所述接收方中用 于發(fā)送數(shù)據(jù)的頁面發(fā)送的響應(yīng);
所述數(shù)據(jù)獲取單元30,用于從所述發(fā)送方中用于接收數(shù)據(jù)的頁面中獲取 所述響應(yīng)。
其中,所述請求單元10還包括發(fā)送數(shù)據(jù)頁面和接收數(shù)據(jù)頁面; 所述發(fā)送數(shù)據(jù)頁面,用于通過所述用于發(fā)送數(shù)據(jù)的頁面將請求命令和數(shù) 據(jù)向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送。
所述接收數(shù)據(jù)頁面,用于接收接收方發(fā)送的響應(yīng)。
其中,所述發(fā)送數(shù)據(jù)頁面與所述接收數(shù)據(jù)頁面為不同頁面或為同一頁面。
^靜態(tài)頁面。
本發(fā)明實施例還提供一種跨域通訊的裝置,用于作為接收方與位于不同 域中的發(fā)送方交互數(shù)據(jù),如圖7所示。包括請求接收單元40、處理單元50 以及響應(yīng)發(fā)送單元60;
所述請求接收單元40,用于接收數(shù)據(jù)的頁面接收所述發(fā)送方發(fā)送的請求; 所述處理單元50,用于處理所述接收方發(fā)送的請求并得到響應(yīng);
所述響應(yīng)發(fā)送單元60,用于發(fā)送數(shù)據(jù)的頁面,向所述發(fā)送方接收數(shù)據(jù)的 頁面發(fā)送所述響應(yīng)。
其中,所述請求接收單元40包括接收數(shù)據(jù)的頁面用于接收所述請求命
15令和凄史據(jù);
發(fā)送數(shù)據(jù)的頁面,用于將所述請求命令和數(shù)據(jù)發(fā)送到所述處理單元
其中,請求接收單元40還包括接收數(shù)據(jù)的頁面和發(fā)送數(shù)據(jù)的頁面;
所述接收數(shù)據(jù)的頁面用于接收所述請求命令和數(shù)據(jù);
所述發(fā)送數(shù)據(jù)的頁面用于向所述發(fā)送方的接收數(shù)據(jù)的頁面發(fā)送響應(yīng)。其
并且所述發(fā)送數(shù)據(jù)的頁面與所述接收數(shù)據(jù)的頁面為動態(tài)頁面或靜態(tài)頁面。
通過使用本發(fā)明完全遵循瀏覽器域安全隔離機制,并且不需要用戶降 低安全級別、沒有URL頁面跳轉(zhuǎn)以及不會頻繁請求服務(wù)器,并且保證通訊 雙方有公平和對稱的安全保護,實現(xiàn)不同域名間安全通訊。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本 發(fā)明可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來 實現(xiàn)基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來, 該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM, U盤, 移動硬盤等)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計 算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的 普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進 和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。
權(quán)利要求
1、一種跨域通訊的方法,應(yīng)用于包括發(fā)起方和接收方的系統(tǒng)中,所述發(fā)起方和接收方位于不同的域中,其特征在于,包括所述發(fā)送方向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送請求;所述發(fā)送方中用于接收數(shù)據(jù)的頁面,接收所述接收方中用于發(fā)送數(shù)據(jù)的頁面發(fā)送的響應(yīng);所述發(fā)送方從所述發(fā)送方中用于接收數(shù)據(jù)的頁面中獲取所述響應(yīng)。
2、 如權(quán)利要求l所述的方法,其特征在于,所述接收數(shù)據(jù)的頁面與所述發(fā)送數(shù)據(jù)的頁面具體為所述發(fā)起方和所述接收方服務(wù)器在跨域通訊前部署的頁面文件。
3、 如權(quán)利要求l所述的方法,其特征在于,所述發(fā)送數(shù)據(jù)的頁面與所述接收數(shù)據(jù)的頁面為不同頁面或為同一頁面。
4、 如權(quán)利要求l所述的方法,其特征在于,所述發(fā)送方向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送請求包括所述發(fā)送方打開一個用于發(fā)送數(shù)據(jù)的隱含頁面,通過所述用于發(fā)送數(shù)據(jù)的頁面將請求命令和數(shù)據(jù)向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送。
5、 如權(quán)利要求4所述的方法,其特征在于,所述隱含頁面打開的方式包 括打開不可見窗口或打開不可見的iframe。
6、 如權(quán)利要求1所述的方法,其特征在于,所述請求命令和數(shù)據(jù)通過GET形式攜帶。
7、 如權(quán)利要求l所述的方法,其特征在于,所述請求命令使用附加在統(tǒng)一資源定位符URL上的片段標識符形式傳遞;所述數(shù)據(jù)使用window對象的name屬性傳遞或采用片段標識符來傳遞。
8、 如權(quán)利要求l所述的方法,其特征在于,所述請求和響應(yīng)的數(shù)據(jù)使用JSON格式的字符串形式傳遞。
9、 如權(quán)利要求l所述的方法,其特征在于,所述發(fā)送數(shù)據(jù)的頁面與所述接收數(shù)據(jù)的頁面為動態(tài)頁面或靜態(tài)頁面。
10、 一種跨域通訊的方法,應(yīng)用于包括發(fā)起方和接收方的系統(tǒng)中,所述發(fā)起方和接收方位于不同的域中,其特征在于,包括所述接收方中用于接收數(shù)據(jù)的頁面接收所述發(fā)送方發(fā)送的請求;所述接收方處理所述接收方發(fā)送的請求并得到響應(yīng);所述接收方中用于發(fā)送數(shù)據(jù)的頁面,向所述發(fā)送方接收數(shù)據(jù)的頁面發(fā)送所述響應(yīng)。
11、 如權(quán)利要求IO所述的方法,其特征在于,所述發(fā)送數(shù)據(jù)的頁面與所述接收數(shù)據(jù)的頁面為不同頁面或為同一頁面。
12、 如權(quán)利要求IO所述的方法,其特征在于,所述接收方中用于發(fā)送數(shù)據(jù)的頁面,向所述發(fā)送方接收數(shù)據(jù)的頁面發(fā)送所述響應(yīng)具體包括所述接收方接收數(shù)據(jù)的頁面直接打開所述發(fā)送方接收數(shù)據(jù)的頁面并響應(yīng)請求5或,所述接收方打開一個用于發(fā)送數(shù)據(jù)的隱含頁面,并利用所述隱含頁面打開發(fā)送方接收數(shù)據(jù)的頁面并響應(yīng)請求。
13、 如權(quán)利要求12所述的方法,其特征在于,所述隱含頁面打開的方式包括打開不可見窗口或打開不可見的iframe。
14、 如權(quán)利要求IO所述的方法,其特征在于,所述響應(yīng)使用附加在統(tǒng)一資源定位符URL上的片段標識符形式傳遞;所述數(shù)據(jù)使用window對象的name屬性傳遞或采用片^殳標識符來傳遞。
15、 如權(quán)利要求IO所述的方法,其特征在于,所述響應(yīng)的數(shù)據(jù)使用JSON格式的字符串形式傳遞。
16、 如權(quán)利要求IO所述的方法,其特征在于,所述發(fā)送數(shù)據(jù)的頁面與所述接收數(shù)據(jù)的頁面為動態(tài)頁面或靜態(tài)頁面。
17、 一種跨域通訊的系統(tǒng),其特征在于,包括發(fā)送方和接收方,所述發(fā)送方與所述接收方位于不同的域中;所述發(fā)送方,用于向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送請求;并通過本地用于接收數(shù)據(jù)的頁面,接收所述接收方中用于發(fā)送數(shù)據(jù)的頁面發(fā)送的響應(yīng);從所述本地用于接收數(shù)據(jù)的頁面中獲取所述響應(yīng);所述接收方,用于通過用于接收數(shù)據(jù)的頁面接收所述發(fā)送方發(fā)送的請求,處理所述接收方發(fā)送的請求并得到響應(yīng),并通過用于發(fā)送數(shù)據(jù)的頁面,向所述發(fā)送方接收數(shù)據(jù)的頁面發(fā)送所述響應(yīng)。
18、 一種跨域通訊的裝置,用于作為發(fā)送方與位于不同域中的接收方交互數(shù)據(jù),其特征在于,包括請求發(fā)送單元、響應(yīng)接收單元以及數(shù)據(jù)獲取單元;所述請求發(fā)送單元,用于向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送請求;所述響應(yīng)接收單元,用于通過接收數(shù)據(jù)的頁面,接收所述接收方中用于發(fā)送數(shù)據(jù)的頁面發(fā)送的響應(yīng);所述數(shù)據(jù)獲取單元,用于從所述發(fā)送方中用于接收數(shù)據(jù)的頁面中獲取所述響應(yīng)。
19、 如權(quán)利要求18所述的裝置,其特征在于,所述請求發(fā)送單元包括發(fā)送數(shù)據(jù)的頁面,用于通過所述用于發(fā)送數(shù)據(jù)的頁面將請求命令和數(shù)據(jù)向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送。接收數(shù)據(jù)的頁面,用于通過所述用于接收數(shù)據(jù)的頁面接收響應(yīng)。
20、 如權(quán)利要求18所述的裝置,其特征在于,所述發(fā)送數(shù)據(jù)的頁面與所述接收數(shù)據(jù)的頁面為不同頁面或為同一頁面。
21、 如權(quán)利要求18所述的裝置,其特征在于,所述發(fā)送數(shù)據(jù)的頁面與所述接收數(shù)據(jù)的頁面為動態(tài)頁面或靜態(tài)頁面。
22、 一種跨域通訊的裝置,用于作為接收方與位于不同域中的發(fā)送方交互數(shù)據(jù),其特征在于,包括請求接收單元、處理單元以及響應(yīng)發(fā)送單元;所述請求接收單元,用于接收數(shù)據(jù)的頁面接收所述發(fā)送方發(fā)送的請求;所述處理單元,用于處理所述接收方發(fā)送的請求并得到響應(yīng);所述響應(yīng)發(fā)送單元,用于發(fā)送數(shù)據(jù)的頁面,向所述發(fā)送方接收數(shù)據(jù)的頁面發(fā)送所述響應(yīng)。
23、 如權(quán)利要求22所述的裝置,其特征在于,所述請求接收單元包括接收數(shù)據(jù)的頁面,用于接收所述發(fā)送方發(fā)送的請求命令和數(shù)據(jù);發(fā)送數(shù)據(jù)的頁面,用于向所述發(fā)送方的接收數(shù)據(jù)的頁面發(fā)送響應(yīng)。
24、 如權(quán)利要求22所述的裝置,其特征在于,所述發(fā)送數(shù)據(jù)的頁面與所述接收數(shù)據(jù)的頁面為不同頁面或為同一頁面。
25、如權(quán)利要求22所述的裝置,其特征在于,所述發(fā)送數(shù)據(jù)的頁面與所述接收^據(jù)的頁面為動態(tài)頁面或靜態(tài)頁面。
全文摘要
本發(fā)明公開了一種跨域通訊的方法、系統(tǒng)和裝置。所述方法應(yīng)用于包括發(fā)起方和接收方的系統(tǒng)中,所述發(fā)起方和接收方位于不同的域中,包括所述發(fā)送方向所述接收方中用于接收數(shù)據(jù)的頁面發(fā)送請求;所述發(fā)送方中用于接收數(shù)據(jù)的頁面,接收所述接收方中用于發(fā)送數(shù)據(jù)的頁面發(fā)送的響應(yīng);所述發(fā)送方從所述發(fā)送方中用于接收數(shù)據(jù)的頁面中獲取所述響應(yīng)。通過使用本發(fā)明實現(xiàn)了在保證瀏覽的域安全隔離前提下,實現(xiàn)不同域名間安全通訊。
文檔編號H04L29/06GK101662460SQ200810147259
公開日2010年3月3日 申請日期2008年8月25日 優(yōu)先權(quán)日2008年8月25日
發(fā)明者李戰(zhàn)園 申請人:阿里巴巴集團控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
潜山县| 类乌齐县| 浠水县| 龙游县| 高唐县| 江西省| 海阳市| 仁布县| 峨眉山市| 诸城市| 屏山县| 密云县| 深水埗区| 天等县| 明溪县| 临泉县| 昆山市| 南川市| 涞源县| 瑞金市| 喀什市| 永登县| 天全县| 监利县| 日喀则市| 利川市| 长兴县| 聊城市| 文山县| 蒙山县| 岑溪市| 翁源县| 潼南县| 鸡西市| 新郑市| 海林市| 屯门区| 北票市| 嘉义县| 井冈山市| 布尔津县|