【问题标题】:httponly cookie not available in javascript. How do I make non-httponly cookies in php? [duplicate]httponly cookie 在 javascript 中不可用。如何在 php 中制作非 httponly cookie? [复制]
【发布时间】:2019-11-12 14:29:15
【问题描述】:

我正在做一个项目,我需要使用 php 制作的 cookie 来管理一些内容。

但是,当我在 php 中制作这样的 cookie 时:

$cookie_value = $user['username'];
setcookie('currentUser', $cookie_value);

在网站上的另一个文件中,我尝试在 javascript 中像这样访问 cookie:

var cookieArr = document.cookie.split(";");

然后我无法访问我刚刚制作的 cookie,即使我可以在浏览器开发人员工具中看到该 cookie 存在。 我可以在这里阅读堆栈溢出,这可能与我的 cookie 是 httponly 有关,但我似乎找不到任何关于如何在 php 中以不同方式创建 cookie 的答案?

非常感谢您的帮助

【问题讨论】:

  • httponly 选项的默认值为 FALSE。请参阅文档here。因此,您的代码当前未将其设置为 TRUE。问题可能是其他问题。具体是什么让您得出问题出在 httponly 设置的结论?
  • 我发现了一些与相关问题有关的 stackoverflow 问题。他们被告知可能是这样,但没有提供任何解决方案。
  • 还能是什么?
  • @s3j80 从一些简单的调试开始。 console.log(document.cookie) 显示什么?
  • @s3j80 尝试将路径参数设置为"/"

标签: javascript php http cookies


【解决方案1】:

因为你没有指定PATH

试试这个方法,

setcookie("currentUser", $cookie_value, time()+86400, "/");

time()+86400 = 1 天后过期(您可以更改)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 2011-12-25
    • 1970-01-01
    相关资源
    最近更新 更多