2013-04-25 31 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