【问题标题】:Can't access a cookie using document.cookie in JS无法在 JS 中使用 document.cookie 访问 cookie
【发布时间】:2011-06-02 17:14:37
【问题描述】:

我遇到了一个奇怪的问题。我正在构建一个与 Drupal 服务接口的外部移动 web 应用程序。当我调用 login.json 服务时,会设置一个 cookie(或者我认为是这样),它告诉 Drupal 我已登录。

Web 应用程序当前在同一域下运行,但在子目录中。但这是棘手的部分。在我的 chrome 资源浏览器中,我可以看到 cookie 下的 cookie。但是,当我尝试记录 document.cookie 的内容时,它返回为空。

我需要做的是在我的 JS 代码中检查该 cookie 的存在。但是由于我无法从 document.cookie 中获取它,所以我不确定我缺少什么。

另外,cookie 的过期日期不早于今天,并且域匹配。

提前感谢您的帮助!

【问题讨论】:

    标签: javascript drupal google-chrome cookies


    【解决方案1】:

    听起来 cookie 是 HTTP only。如果这是 Drupal 设置的,如果没有可用的设置,您可能需要修改 Drupal 源代码才能更改它。

    Drupal 跟踪器上的A ticket 表示从 v6.x 开始使用仅 HTTP cookie 作为安全措施。

    【讨论】:

    • 是的,chrome 确实告诉我这是一个 http cookie。所以我真的没有办法从 JS 中捕捉到它吗?
    • @MrMaksimize:HTTP cookie 的意义在于,作为一种安全措施,它们对客户端脚本隐藏。使其可见的唯一方法是找到在服务器上设置 cookie 的代码并更改它以删除仅 HTTP 标志。
    猜你喜欢
    • 2013-07-04
    • 1970-01-01
    • 2012-04-04
    • 2021-12-02
    • 2019-03-15
    • 1970-01-01
    • 2023-03-17
    • 2020-11-10
    • 2016-02-16
    相关资源
    最近更新 更多