0

我需要删除 Facebook 登录后创建的所有 cookie。

使用 PHP 我使用setCookie('CookieName')没有任何价值的方法。但它没有用。

有没有办法使用 PHP/JavaScript 删除网站的所有 cookie?

4

5 回答 5

3

您服务器上的 PHP 无法更改 facebook.com 设置的 cookie - 只有您的域设置的 cookie。在您的页面上运行的 JavaScript 也存在同样的问题。

cookie 真的是 Facebook 的吗?还是由您域上的 SDK 设置的?

于 2012-11-30T09:54:53.150 回答
1

安全策略不允许您管理其他网站的 cookie,因此现在可以从您的脚本中删除 facebook.com cookie。

如我错了请纠正我。

于 2012-11-30T09:52:05.783 回答
1

对不起,但我认为它不可能做你想做的事。您乱用(设置、更改或删除)您自己域中的 cookie。因此,如果您从 facebook 以外的任何地方提供服务,您将无法影响 facebook cookie。

这是关于同一问题的另一个stackoverflow线程跨域cookie

于 2012-11-30T09:53:13.287 回答
0

要删除您已经在自己的域中设置的 cookie,您可以使用:

setCookie('CookieName', '', time()-3600);

手册

删除 cookie 时,您应确保过期日期已过,以触发浏览器中的删除机制。

于 2012-11-30T09:59:38.410 回答
-1

在这里查看答案

// unset cookies
if (isset($_SERVER['HTTP_COOKIE'])) {
    $cookies = explode(';', $_SERVER['HTTP_COOKIE']);
    foreach($cookies as $cookie) {
        $parts = explode('=', $cookie);
        $name = trim($parts[0]);
        setcookie($name, '', time()-1000);
        setcookie($name, '', time()-1000, '/');
    }
}

http://www.php.net/manual/en/function.setcookie.php#73484

于 2012-11-30T09:51:40.153 回答