Я пытаюсь написать PHP-код для удаления всех пользовательских файлов cookie на моем домене.
Вот что я получил:
<?php
$domain = 'www.example.com';
$deleteExpiration = time() - 60*60*24*365*10; // 10 years ago
foreach (array_keys($_COOKIE) as $cookie) {
setcookie($cookie, 0, $deleteExpiration, '/', $domain);
}
Запуск этого кода на http://www.example.com/delete_cookies.php удаляет все куки, которые были установлены на сервере, но не куки, которые были установлены в JavaScript.
В диалоговом окне «Файлы cookie» Firefox я подтвердил, что проблемные файлы cookie действительно получены (путь = /; домен = www.example.com). Используя активные HTTP-заголовки, я вижу, что отправляется следующий заголовок:
Set-Cookie: CookieName=0; expires=Fri, 12-Mar-1999 19:36:15 GMT; path=/; domain=www.example.com
Так что я считаю, что команда setcookie работает как положено. Firefox просто не выполняет запрос.
Еще одна вещь, которую я заметил, это то, что если я установил cookie на domain=www.example.com
на сервере, то он будет указан в диалоговом окне cookie Firefox с domain=".www.example.com"
, но если я установлю следующий cookie с использованием кода JavaScript, начальная точка не добавляется.
Что я делаю не так? Как я могу удалить эти куки?