没有取消设置 cookie 的方法有效
No method of un-setting cookies is working
我正在尝试 unset/delete/expire 注销页面上的 cookie。但是,它似乎没有用。我的注销脚本如下:
require_once("database.php"); // contains session_start()
$_SESSION = array();
session_destroy();
// attempts to unset cookies go here (see below)
var_dump($_SERVER['HTTP_COOKIE']);
header("Location: ./login.php");
exit();
我删除特定 cookie login
(或全部)的三次尝试如下:
尝试 1:
setcookie("login", "", time() -3600, "/");
尝试 2:
$cookies = explode(";", $_SERVER['HTTP_COOKIE']);
foreach ($cookies as $cookie) {
$parts = explode("=", $cookie);
$name = trim($parts[0]);
setcookie($name, "", time() -3600);
setcookie($name, "", time() -3600, "/");
}
尝试 3:
unset($_COOKIE);
但是我的 var_dump()
仍然包含 cookie!
此外,您随后重定向到的页面 login.php
包含以下代码:
if (isset($_COOKIE['login'])) {
echo "Still set."
}
低看,页面显示Still set.
首先从任何可用的 Cookie 工具或浏览器的开发者工具中删除所有 cookie。
对于整个网站域,始终将 COOKIES 写为“/”。当我们 set/unset cookie 时,路径起着重要作用。采用
setcookie($cookie_name, "$cookie_value", time() +3600, "/")
设置和 setcookie($cookie_name, "$cookie_value", time() -360000, "/")
取消设置 COOKIES。
在此处进一步阅读有关 COOKIES 路径的信息:http://www.w3schools.com/php/func_http_setcookie.asp
希望对你有帮助
我正在尝试 unset/delete/expire 注销页面上的 cookie。但是,它似乎没有用。我的注销脚本如下:
require_once("database.php"); // contains session_start()
$_SESSION = array();
session_destroy();
// attempts to unset cookies go here (see below)
var_dump($_SERVER['HTTP_COOKIE']);
header("Location: ./login.php");
exit();
我删除特定 cookie login
(或全部)的三次尝试如下:
尝试 1:
setcookie("login", "", time() -3600, "/");
尝试 2:
$cookies = explode(";", $_SERVER['HTTP_COOKIE']);
foreach ($cookies as $cookie) {
$parts = explode("=", $cookie);
$name = trim($parts[0]);
setcookie($name, "", time() -3600);
setcookie($name, "", time() -3600, "/");
}
尝试 3:
unset($_COOKIE);
但是我的 var_dump()
仍然包含 cookie!
此外,您随后重定向到的页面 login.php
包含以下代码:
if (isset($_COOKIE['login'])) {
echo "Still set."
}
低看,页面显示Still set.
首先从任何可用的 Cookie 工具或浏览器的开发者工具中删除所有 cookie。
对于整个网站域,始终将 COOKIES 写为“/”。当我们 set/unset cookie 时,路径起着重要作用。采用
setcookie($cookie_name, "$cookie_value", time() +3600, "/")
设置和 setcookie($cookie_name, "$cookie_value", time() -360000, "/")
取消设置 COOKIES。
在此处进一步阅读有关 COOKIES 路径的信息:http://www.w3schools.com/php/func_http_setcookie.asp
希望对你有帮助