Html5 postMessage實現跨域訊息傳遞

2022-09-24 15:09:18 字數 718 閱讀 1613

一、同源策略

要理解跨域,我們首先要知道什麼是同源策略。百度百科上這樣定義同源策略:同源策略(same origin policy)是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。可以說web是構建在同源策略基礎之上的,瀏覽器只是針對同源策略的一種實現。

何謂同源:如果兩個url的網域名稱、協議、埠相同,則表示他們同源。

瀏覽器的同源策略,限制了來自不同源的"document"或指令碼,對當前"document"讀取或設定某些屬性。 (白帽子講web安全[1])。根據這個策略,a.com網域名稱下的j**ascript無法跨域操作b.com網域名稱下的物件。比如,baidu.com網域名稱下的頁面中包含的j**ascript**,不能訪問google.com網域名稱下的頁面內容。

j**ascript必須嚴格遵循瀏覽器的同源策略,包括ajax(事實上,ajax也是由j**ascript組成)。通過xmlhttprequest物件實現的ajax請求,不能向不同的域提交,比如,在abc.test.com下的頁面,不能向def.test.com提交ajax請求。運用了同源策略之後,使用者就能確保自己正在檢視的頁面確實來自於正在瀏覽的域。

&n   同源策略在現實應用中是十分重要的。假設攻擊者利用iframe把真正的銀行登入頁面嵌到他的頁面上,當使用者使用真實的使用者名稱、密碼登入時,該程式設計客棧頁面就可以通過j**ascript讀取到使用者表單中的內容,這樣使用者名稱和密碼資訊就被洩漏了。

在瀏覽器中,

HTML5 之跨域通訊(postMessage)

很多情況下,我們受到瀏覽器的安全策略限制。如何能規避此限制,並且能安全的使用跨域通訊,這就不得不介紹一下 postmessage 了。一 關於 postmessage window.postmessage 方法可以安全地實現跨源通訊。通常,對於兩個不同頁面的指令碼,只有當執行它們的頁面位於具有相同的...

html5介紹,什麼是html5,html5新特性

html5 將成為 html xhtml 以及 html dom 的新標準。html 的上乙個版本誕生於 1999 年。自從那以後,web 世界已經經歷了巨變。html5 仍處於完善之中。然而,大部分現代瀏覽器已經具備了某些 html5 支援。html5 是 w3c 與 whatwg 合作的結果。編...

HTML5學習之 HTML 5 拖放

拖放 drag 和 drop 是 html5 標準的組成部分。拖放是一種常見的特性,即抓取物件以後拖到另乙個位置。在 html5 中,拖放是標準的一部分,任何元素都能夠拖放。internet explorer 9 firefox opera 12 chrome 以及 safari 5 支援拖放。注釋...