我正在我的网站“记住我”功能,我正在使用session_set_cookie_params来保持会话活着,即使用户决定关闭他或她的浏览器。我遇到的问题是浏览器删除cookie,即使我将它们设置为持久性,这只有在我将cookie上的HttpOnly标志设置为true时才会发生。
以下是我所拥有的一些pseucode:
为php ini设置cookie生存期
为php ini设置垃圾收集器最大生命周期
确定用户是否想要持久会话
设置会话cookie的时间并确保它使用HttpOnly
开始会话
以下是我目前对正在使用的功能的理解,如果我错了,请告诉我:
在这种情况下,我绝对不希望通过javascript访问cookie。我做错了吗?
另请告诉我是否应该添加更多信息,这是我第一次提问。谢谢。
答案 0 :(得分:0)
好吧所以我最终解决了这个问题,因为事实证明它与HttpOnly标志无关。最后,它必须将cookie的持久性设置在错误的位置。
所以问题在于,当我在设置cookie之前使用setcookie是持久的时候。为了解决这个问题,我只需在调用setcookie函数之前将cookie设置为持久化。
我很抱歉认为错误与HttpOnly标志有关,这是一个我不应该做的大假设。