2013-04-25 61 views
0

我有一個A.com的頁面,其中的iframe的"src="位於B.com。 例如,src="http://B.com/index.asp?123456"iframe跨域驗證調用者

查詢字符串123456是分配給域A.com的客戶端密鑰。 index.asp用關鍵字進行數據庫查找以識別域。

我怎樣才能確保它是撥打電話的A.com的頁面?

我想過關於通過location.host,但可以被黑客入侵。 也就是說,C.com可以這樣說:它是B.com,通過將location.host更改爲B.com

(顯然,location.host是通過JavaScript確定)。

我可以A.com有其他的HTML代碼不僅僅是iframe中。

回答

0

您可以使用postMessage並驗證事件對象的來源,但是您絕不應該依賴任何客戶端驗證來確保安全性。只需在任何開發人員工具的後消息回調中添加一個斷點即可輕鬆繞過此方法。

+0

我收集postMessage是HTML5,它不適用於所有瀏覽器。但是,正如你所說,它可能會被黑客入侵。 – user2165945 2013-04-26 01:34:30

+0

這是一個非HTML5跨域消息框架[EaxyXDM](http://easyxdm.net/wp/) – 2013-04-26 05:55:51

+0

「注意:使用easyXDM,它突然停止在IE6和IE7中工作」... – user2165945 2013-04-26 15:03:10