[英]php: how to correctly remove all cookies?
理想情況下,要刪除php中的cookie,應該在創建cookie時設置完全相同的參數,除了值和過期時間:
創建cookie:
setcookie('cookie1', 'value1', time()+10000, '/', 'domain.com', false, true);
刪除cookie:
setcookie('cookie1', '', time()-10000, '/', 'domain.com', false, true);
但是, 當我想刪除它時 , 如何獲取設置創建cookie的參數? 例如,假設我沒有跟蹤這些參數,就會使用某些第三方庫創建cookie
是的,有刪除方法:
setcookie($name, '', time() - 1000, "/");
setcookie($name, '', time() - 1000);
但這是“理想”正確的方法嗎? 所有瀏覽器(包括舊版)都支持這個嗎?
無論如何,為所有瀏覽器確保正確刪除所有cookie的方法是什么
如何設置完全相同的參數刪除cookie(如果我不跟蹤cookie創建)?
if (isset($_SERVER['HTTP_COOKIE'])) {//do we have any
$cookies = explode(';', $_SERVER['HTTP_COOKIE']);//get all cookies
foreach($cookies as $cookie) {//loop
$parts = explode('=', $cookie);//get the bits we need
$name = trim($parts[0]);
setcookie($name, '', time()-1000);//kill it
setcookie($name, '', time()-1000, '/');//kill it more
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.