как удалить все куки моего сайта в php - PullRequest
88 голосов
/ 22 февраля 2010

Мне интересно, могу ли я удалить все куки моего веб-сайта, когда пользователь нажимает на выход из системы, потому что я использовал это как функцию для удаления куки, но это не работает должным образом:

setcookie("user",false);

Есть ли способ удалить куки одного домена в PHP?

Ответы [ 11 ]

0 голосов
/ 12 августа 2014

Во всех предыдущих ответах игнорировалось, что setcookie мог использоваться с явным доменом. Кроме того, файл cookie мог быть установлен на более высоком поддомене, например если вы входите в домен foo.bar.tar.com, возможно, файл cookie установлен на tar.com. Поэтому вы хотите удалить куки для всех доменов, которые могли удалить куки:

$host = explode('.', $_SERVER['HTTP_HOST']);

while ($host) {
    $domain = '.' . implode('.', $host);

    foreach ($_COOKIE as $name => $value) {
        setcookie($name, '', 1, '/', $domain);
    }

    array_shift($host);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...