sách gpt4 ai đã đi

javascript - 浏览器/JavaScript同源策略如何应用于二级域名?

In lại 作者:行者123 更新时间:2023-12-02 20:33:18 28 4
mua khóa gpt4 Nike

我有一些 JavaScript 在同一域上的两个独立服务器之间共享请求。

.com 是 JavaScript 中域的要求吗?

在这种情况下,两台服务器都位于 .abc.tyy 域上,tyy 通常是 .com

想知道我是否只能使用 .com 作为域名?我收到权限被拒绝错误,但此代码在同一域 (.com) 上的其他单独服务器上运行良好。

làm mới:这就是我的具体使用方法:

123.abc.tyy 有一个加载我想要访问的属性的脚本。

123.abc.tyy 上的脚本位于打开脚本标记处,将 document.domain 设置为“abc.tyy”。

当我从 234.abc.tyy 调用 123.abc.tyy 脚本中的“getUser()”函数时,出现权限被拒绝的错误。

我调用“getUser()”的方式是:我访问http://123.abc.tyy在浏览器中,该站点允许我指定要在其框架之一中加载的 URL。我将该 URL 指向 http://234.abc.tyy/BeginLoadPatient.aspx “在该页面中我正在执行以下操作:

window.location = ' http://234.abc.tyy/LoadPatient.aspx?PatientId= ' + getUser() '; getUser 是源自 123.abc.tyy 的函数

如果我将 234.abc.tyy 和 123.abc.tyy 添加到我的受信任站点,一切正常 - 这是否会跳过同源策略?

1 Câu trả lời

不,SOP 不关心域是什么,只关心它代表相同的起源。 (您是否在某处硬编码了 .com 域?)

请注意,需要考虑的不仅仅是域。 Same Origin Policy还查看协议(protocol)、端口和主机。因此,aaa.abc.tyybbb.abc.tyy Đúng不同来源。

如果您可以控制所涉及的服务器,您可以查看 Cross-Origin Resource Sharing ,但不幸的是 CORS 仅在现代浏览器中实现(并且在支持它的 IE 版本上,仅当您明确使用它时才支持)。

当然,另一个选择是 JSON-P ,它现在具有跨浏览器工作的优势。

另一个需要注意的是document.domain,详细信息đâyđây .

<小时>

编辑后更新:

The script on 123.abc.tyy at opening script tag, sets the document.domain to 'abc.tyy'.

When I call the 'getUser()' function in 123.abc.tyy's script FROM 234.abc.tyy I am getting a permission denied error.

您还需要在 BeginLoadPatient.aspx 中将 document.domain 设置为“abc.tyy”。

If I add 234.abc.tyy and 123.abc.tyy to my trusted sites, everything works fine - is this skipping over the same origin policy?

我一点也不感到惊讶(尽管对我来说这会很危险),但我对此没有第一手的了解。很容易测试。

关于javascript - 浏览器/JavaScript同源策略如何应用于二级域名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3718230/

28 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com