簡體   English   中英

php:如何正確刪除所有cookie?

[英]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
    }
}

來自筆記: http//php.net/manual/en/function.setcookie.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM