3

将 document.domain 设置为 superdomain 以允许跨子域调用是一种非常常见的做法。它曾经工作到 Firefox 23,但升级到 Firefox 24 后我面临这个问题。

当我的网址是 - def.abc.mycompany.com

document.domain = "mycompany.com"  - WORKS
document.domain = "abc.mycompany.com"  - WORKS 

def.abc.mycompany.com 基本上是 ec2-123-345-2678-91.compute-1.amazonaws.com 的别名,但是当我在同一台服务器上执行此操作时

document.domain = "amazonaws.com"   - ERROR
document.domain = "compute-1.amazonaws.com " - ERROR

它抛出 - NS_ERROR_DOM_BAD_DOCUMENT_DOMAIN: Illegal document.domain value

有其他人在 FF-24 上遇到同样的问题吗?他们是否禁用将文档域设置为任何云提供商的?我在 Chrome 和 Safari 上看不到这个。

4

2 回答 2

1

amazonws.com 不是 def.abc.mycompany.com 的超级域。服务器别名(CNAME 等)在 Web 同源安全性方面无关紧要。

如果您从 ec2-123-345-2678-91.compute-1.amazonaws.com 加载,您可能会将域设置为 amazonws.com,但这也是一个糟糕的主意,因为托管在 amazonws.com 上的任何人都会变得相同 -像你一样出身,可以窃取数据。

于 2013-11-09T18:15:26.163 回答
0

我刚刚发现 amazonaws.com compute-1.amazonaws.com 已添加到顶级域列表中。检查这个: https ://wiki.mozilla.org/Public_Suffix_List

于 2015-03-25T13:05:21.330 回答