同一域策略究竟是如何实施的?

13 subdomain xss ajax

假设我有一个域名,js.mydomain.com它指向某个IP地址,以及其他一些requests.mydomain.com指向不同IP地址的域名.可以.jsjs.mydomain.commake Ajax请求下载文件requests.mydomain.com吗?

现代浏览器如何实施相同的域策略?

kdg*_*ory 11

对您的问题的简短回答是否定的:对于AJAX调用,您只能访问与加载页面相同的主机名(和端口/方案).

有几种解决方法:一种是创建一个URL foo.example.com作为反向代理bar.example.com.只要主机名匹配,浏览器就不关心实际请求的实际位置.如果您已经有一个前端Apache Web服务器,这将不会太困难.

另一种选择是AJAST,它通过在文档中插入脚本标记来工作.我相信这就是Google API的工作方式.

您可以在此处找到相同原始政策的良好说明:http://code.google.com/p/browsersec/wiki/Part2

  • 还值得一提的是,IP地址根本不重要(在任何浏览器中) - 它只是protcol/scheme,host和(在某些情况下)确定原点的端口.这意味着来自相同IP*的两个不同来源可能无法进行通信,并且负载均衡器*可以*通信的多个IP上提供相同的来源. (3认同)