相同的原始策略 - 子域和根域

Dan*_*use 14 same-origin-policy

我对这个same-origin政策有疑问.

我的公司有很多子域名,其中一个子域名他们想要一个iframe,其中包含另一个子域名,并填充iframe的形式.

我已经阅读了有关该document.domain属性的内容,并且我需要设置所有三个域,但由于属于不同部门的每个子域,我无法轻松测试.所以这是我的问题:

如果子域都是https,而根域不是,那么这是可能的吗?我查看了维基百科上的示例,但这对我没有帮助.任何帮助将不胜感激.

例:

https://x.company.org
https://y.company.org
http://company.org
Run Code Online (Sandbox Code Playgroud)

x.company.org 将有一个包含y.company.org的iframe的页面,其中包含我们想要自动填充的表单.

u27*_*702 18

在此上下文中定义域的内容是协议,端口和域,因此http://abc.comhttps://abc.com被浏览器视为不同的域(http vs https).

http://en.wikipedia.org/wiki/Same_origin_policy#Origin_determination_rules

https://x.company.orghttps://y.company.org也被视为单独的域名,但他们可以放宽他们的域名设置到https://company.org并进行交叉沟通.

http://en.wikipedia.org/wiki/Same_origin_policy#document.domain_property

现在还有另一种选择,因为HTML5适用于所有主流浏览器.使用HTML5 postMessage,您可以跨域进行通信,假设接收域想要接受消息并做出响应.

http://html5demos.com/postmessage2

  • 我理解你的例子说x.company.org将在iframe中托管y.company.org.在这种情况下,两个页面都应该使用docoument.domain ="company.org"来实现:http://javascript.info/tutorial/same-origin-security-policy#the-document-domain-exception (2认同)