微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何为现有用户更改会话cookie域

我的 PHP Web应用程序目前将其会话cookie域设置为example.com.我想将其更改为.example.com.对于新访问者,ini_set(‘session.cookie_domain’,’.example.com’)可以使用.对于在进行此更改之前已拥有PHPSESSID cookie的访问者,域保持旧值.如何在不要求当前用户删除其Cookie的情况下更改会话cookie上的域?

>我不能使用JavaScript来更新cookie,因为出于安全原因它是HTTPOnly.
>删除服务器上的会话不会重置整个cookie,它只会更新cookie值(保持域名相同).
>现代浏览器会在重新启动时保留会话,因此即使cookie在浏览器会话结束时设置为过期,浏览器会话也永远不会结束.

我能想到的唯一可能性是将cookie设置为过去过期,然后重定向获取新的cookie.但我不知道哪些访问者的cookie域设置不正确.

在开始会话之前设置新的session_name().这样,cookie的名称就会改变,任何旧的cookie都会被忽略.只会发送新的Cookie并为会话工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐