【问题标题】:Same origin host, different ports in JS同源主机,JS不同端口
【发布时间】:2011-08-08 12:28:16
【问题描述】:

两台主机

http://1.com.local/
http://2.com.local:8080/

如何使用document.domain 在两者之间启用 DOM 操作?如果我将两者都设置为com.local 它不起作用,因为第二个主机然后获得域com.local:8080

当我尝试手动将第一个域的域设置为com.local:8080 时,端口被截断,域仍然为com.local

在这种情况下如何启用 DOM 操作?

【问题讨论】:

    标签: javascript dom same-origin-policy


    【解决方案1】:

    你不能。抱歉 - 相同的来源包括 ports

    如果启用此功能,您可以使用CORS 和 ajax 将一些内容从一台服务器复制到另一台服务器。

    【讨论】:

    • 偶然发现,如果我将 localhost:8x 用于我的 api 服务器,那么我不会收到 CORS 错误。如果我使用像 1000+ 这样的标准“安全”端口,那么我确实会收到 CORS 错误。我没有在网上找到任何讨论这个问题的文档,但它可以可靠地用于 localhost 测试目的,以解决 CORS 错误。
    • 同源包括端口,所以如果你从 localhost:// 到 localhost:1000// 你是从端口 80 到端口 1000,这是跨源
    • 当使用端口 8x 时,它没有为 localhost 应用 CORS 策略。例如 localhost:1023 可以调用 localhost:85 而不执行 CORS。如果我将 api 切换到非端口 8x,则会强制执行 CORS 策略。
    • 好的 - 太好了。我很惊讶
    • 这里也一样。看起来很随意。我用谷歌搜索它试图找到支持它的东西,但我什么也没找到。无论如何,我们中的一些人现在在工作中使用端口 8x,它工作正常。不过还没有在其他浏览器上测试过。
    猜你喜欢
    • 2018-09-20
    • 2011-08-29
    • 2014-05-26
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-10
    相关资源
    最近更新 更多