javascript - 奇怪的 Javascript/跨站点 cookie 问题

标签 javascript cookies

我有一个在域 B 上运行的 PHP 脚本,当调用它时会生成一些 JS。

我的想法是,在给定的 html 页面中,我可以拥有:

<script src="http://b.domain/myscript.php"></script>

所以当页面加载时,会调用脚本并生成 JS 并在本地页面上运行。

问题是 myscript.php 依赖于 B 的域 cookie。如果我输入 http://b.domain/myscript.php进入我的地址栏,脚本工作正常,我在浏览器窗口中看到 JS 文本。

但是当我在不同的网络服务器上运行的网页中包含上面引用的行时,称之为 A,它不起作用。 JS 仍会生成,但不正确,因为没有任何 cookie 可用于脚本。

所以,总之,直接访问脚本,cookie可用,一切正常。 通过来自另一个域服务的页面的调用来访问脚本,它没有访问 cookie 的权限。

我不明白为什么在调用 B 域上运行的脚本时,浏览器似乎没有发送 B 的 cookie?

最佳答案

这是一项安全功能。 Cookie 信息永远不会提供给设置 cookie 的域以外的域。请参阅:http://en.wikipedia.org/wiki/Cross-site_scripting获取更多信息。

关于javascript - 奇怪的 Javascript/跨站点 cookie 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1172045/

相关文章:

ios - Swift:如何为进一步的 http 请求记住 cookie

javascript - Sveltekit & Supabase如何实现cookie认证?

javascript - Express.js 在两个实例之间签署了 cookie

node.js - 在 Express/Connect 中解析签名 cookie 的便捷方法?

javascript - 我应该担心 HTML5Shiv.min.js 版本 3.7.2 上的这些 JSLint 警告吗?

javascript - 如何在 Internet Explorer 中仅使用 JavaScript 接受警报消息

javascript - Promise 模式回退​​多次获取

javascript - 使用 vanilla js 渲染 React 组件?

javascript - select选项的jquery数据属性

java - 禁用 Cookies 也会停止 Session 吗?