如何在客户端计算机上删除 PHPSESSID
问题更新:
- 在某些浏览器上,我们有两个 PHPSESSID。
- 一个PHPSESSID不是由我在我的脚本中的任何位置设置的
- 它具有HOST(而不是我设置的PHPSESSID的DOMAIN)作为 www.mywebsite.com
- 我尝试使用setcookie删除它:但这失败了。
setcookie ("PHPSESSID", $_COOKIE['PHPSESSID'], time() - 864000, '/', 'www.mywebsite.com');
- 尝试使用以下命令删除 Cookie 会导致我设置的 PHPSESSID 被删除。
setcookie ("PHPSESSID", $_COOKIE['PHPSESSID'], time() - 864000, '/');
- 我已尝试 使用 重命名我设置的会话。这有效,但几分钟后使我的服务器崩溃了几次。
session_name
- 我没有选择。
我正在我的网站上使用PHP会话。
会话路径是 /folder,后来我更改为 / 以适应新的目的。
现在,老用户无法登录。
似乎他们现在有两个PHPSESSID存储在他们的浏览器上 - 一个带有路径/文件夹,另一个带有/。
我能做些什么来确保老用户可以登录,同时确保会话是全站范围的“/”。
更多信息
当我说两个phpsessionid时,参考图像
- 如果我使用,登录名有效
一个。session_set_cookie_params(864000, '/cv', '.website.com', 0, 1);
但是如果我使用:
B.session_set_cookie_params(864000, '/', '.website.com', 0, 1);
- 如果我使用上面的版本2A,则该会话将仅在/cv中可用,而在其他网站文件夹中不可用, 例如。/文件夹。
使用JAVASCRIPT删除PHPSESSID的更新
- 当我运行 alert(document.cookie) 时,它会显示除 PHPSESSID 之外的所有 cookie。
- 因此,所有删除 PHPSESSID Cookie 的尝试都会失败,而其他 Cookie 可以被删除。
使用 PHP 删除 PHPSESSID 的更新
- 当我返回的是带有路径 /cv 的 PHPSESSID 的值时
var_dump($_COOKIE['PHPSESSID']);
- 尝试删除 失败。
setcookie ("PHPSESSID", "", time() - 3600);