【问题标题】:Reading a cookie from a different domain从不同的域读取 cookie
【发布时间】:2016-07-19 01:10:24
【问题描述】:

我正在为公司内部的活动开发页面/表单。但是,第一步是检查此人是否已登录。这很容易与一个 cookie - CUSTOMER - 在他们登录后设置。

但是: 1)我在本地开发,而不是在同一个域上,因此看不到那个 cookie 2) 最终的活动可能会或可能不会最终驻留在实际域上。他们最终可能会使用虚 URL 或其他东西。

为此,假设我无权访问设置 cookie 的主域。

如何从域外读取该 cookie?哦,由于 IT 人员不让我们接触后端grumble,它必须是一个 JS 解决方案。

谢谢!

【问题讨论】:

    标签: javascript jquery cookies cross-domain


    【解决方案1】:

    你不能。

    您可以使用客户端 JavaScript 读取的唯一 cookie 是属于嵌入了 <script> 的 HTML 文档的主机的那些。

    通过设置withCredentials,您可以在跨域请求中支持cookie,但它们由浏览器透明地处理,JS 无法直接访问它们(XHR 规范到explicitly ban getAllResponseHeaders from reading cookie related headers)。跨域请求访问 cookie 的唯一方法是让服务器(您说您无权访问)将数据复制到正文或不同的响应标头中。

    【讨论】:

      【解决方案2】:

      如果可以安装服务器端组件,则可以。

      您可以使用专用域来托管您的 cookie,然后使用 XSS 技术共享它

      当 dom1.foo.com 登录时,您使用 Ajax XSS 调用在 cookie.foo.com 上注册一个 cookie,然后当您继续访问 dom2.foo.com 时,您必须使用您的 XSS api 查询 cookie.foo.com

      我前段时间玩过它 https://github.com/quazardous/mudoco/blob/master/mudoco/README.txt 这只是某种 POC..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-03
        • 2010-10-16
        • 2014-06-25
        • 1970-01-01
        相关资源
        最近更新 更多