2015-02-04 38 views
0

如果站點A具有站點B的iframe和兩個網站都在不同的領域,可站點B知道(通過JS什麼的),如果它在一個iframe與讓 - 同源屬性和阻撓呢?iframe可以允許同源嗎?

我需要安撫站點B的管理員,他們的網站是站點A在iframe中安全

編輯:這個問題本質上是作爲實際意義,我誤解了允許-同源意味着

+2

如果站點B被嵌入在站點A iframe和兩個位於不同的域,則站點B是在完全控制。如果它不想與站點A合作,那麼站點A將不會通過瀏覽器進行訪問。 – jfriend00

+0

因此,通過JS,站點B可以訪問它所在的iframe,並使用它來做它想要的內容? – Edge

+0

網站B像它自己的網頁一樣運作。它自己的JS可以訪問它自己的內容,只有它自己的內容。它甚至不需要意識到它位於站點A的iframe中。它只是正常工作。您所說的「allow-same-origin」屬性打開了站點B,以便從具有相同站點B來源的其他文檔訪問,但根本不打開具有不同來源的文檔。因此,如果網站A的來源不同,則網站A將無法訪問網站B的嵌入式頁面。要弄清楚你要問什麼有點難。 – jfriend00

回答

2

如果你把一個包含網頁站點A具有嵌入在其站點B的iframe的正常情況下,然後在瀏覽器的同源限制使其不可能站點A,除非B站點具體合作訪問網站B的頁面什麼通常允許通過window.postMessage() - 在不同來源的文檔,窗口或框架之間發送消息的方式。默認情況下,不允許訪問。

你指的沙箱屬性上的iframe allow-same-origin。當你添加沙盒屬性時,事情就會更加關閉,所以甚至不允許訪問。 allow-same-origin屬性只能返回來自相同來源的訪問權限。由於您的站點A和站點B的示例位於不同的來源,因此這應該不會影響它們之間的訪問。網站A的頁面仍然無法訪問網站B的頁面。

+0

啊,我確實誤解了允許同源意味着什麼 – Edge

相關問題