将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:非法的document.domain值
还有其他人在FF-24上遇到过同样的问题吗?他们是否禁止将文档域设置为任何云提供商?我在Chrome和Safari上没有看到这一点。
答案 0 :(得分:1)
amazonws.com不是def.abc.mycompany.com的超级域名。服务器别名(CNAME等)在Web同源安全性方面无关紧要。
如果您从ec2-123-345-2678-91.compute-1.amazonaws.com加载,您可能会将域名设置为amazonws.com,但这也是一个可怕的想法,因为任何在amazonws.com上托管的人都会与你同源,可以窃取数据。
答案 1 :(得分:0)
我刚刚找到了 amazonaws.com compute-1.amazonaws.com 被添加到顶级域列表中。 检查一下: https://wiki.mozilla.org/Public_Suffix_List