ドメイン上のすべてのユーザーCookieを削除するためのPHPコードを作成しようとしています。 JavaScriptで設定されたクッキーないサーバー上のJavaScriptで設定された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にこのコードを実行しているサーバー上で設定されたすべてのクッキーを削除しますが、以下は
は、私が得たものです。
「Firefox Cookies」ダイアログを使用して、問題のあるCookieが実際には(path =/domain = www.example.com)のものであることを確認しました。ライブHTTPヘッダを使用して、私は次のヘッダーが送信されることがわかります。
Set-Cookie: CookieName=0; expires=Fri, 12-Mar-1999 19:36:15 GMT; path=/; domain=www.example.com
だから私は予想通りますsetcookieコマンドが機能していると信じています。 Firefoxはリクエストを尊重していないだけです。
私は、サーバー上domain=www.example.com
でクッキーを設定した場合、それがdomain=".www.example.com"
とFirefoxのクッキーダイアログにリストされていることに気づいたが、私はその後、JavaScriptコードを使用して、次のクッキーを設定した場合、先頭にドットがある1つの追加の事追加されません。
私は間違っていますか?どうすればこれらのクッキーを削除できますか?
http://stackoverflow.com/a/25967822/1642018 – AMB
['$ cookie-> delete()'](https://github.com/delight-im/PHP-Cookie/blob/) 004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L173)[このスタンドアロンライブラリ](https://github.com/delight-im/PHP-Cookie)にあるように便利です。 – caw