window.name和postMessage跨域詳解
阿新 • • 發佈:2022-04-18
文章不易,請關注公眾號 毛毛蟲的小小蠟筆,多多支援,謝謝。
概念
window.name
1、在一個視窗還沒關閉之前,同一個視窗的所有頁面都共享同一個window.name。
這個視窗可理解為chrome瀏覽器的一個tab標籤頁面。另外,從一個頁面中跳轉到另一個頁面後,這些頁面都共享同一個window.name。
2、每個頁面都能讀和寫window.name。
這個可能就是安全問題的來源。
3、window.name在chrome上可儲存小於等於2MB的資料。
postMessage
可以安全地實現的跨源通訊。
語法:otherWindow.postMessage(message, targetOrigin, [transfer]);
事件:window.addEventListener("message", receiveMessage, false);
message的屬性有:data, origin, source
安全問題比較
攻擊者頁面:A
受害者頁面:B
最後
- 文章不易,請關注公眾號 毛毛蟲的小小蠟筆,多多支援,謝謝。
- 有疑問和問題,請留言。
- 如果覺得文章還可以,請點贊或收藏,謝謝。