我需要删除 Facebook 登录后创建的所有 cookie。
使用 PHP 我使用setCookie('CookieName')
没有任何价值的方法。但它没有用。
有没有办法使用 PHP/JavaScript 删除网站的所有 cookie?
我需要删除 Facebook 登录后创建的所有 cookie。
使用 PHP 我使用setCookie('CookieName')
没有任何价值的方法。但它没有用。
有没有办法使用 PHP/JavaScript 删除网站的所有 cookie?
您服务器上的 PHP 无法更改 facebook.com 设置的 cookie - 只有您的域设置的 cookie。在您的页面上运行的 JavaScript 也存在同样的问题。
cookie 真的是 Facebook 的吗?还是由您域上的 SDK 设置的?
安全策略不允许您管理其他网站的 cookie,因此现在可以从您的脚本中删除 facebook.com cookie。
如我错了请纠正我。
对不起,但我认为它不可能做你想做的事。您乱用(设置、更改或删除)您自己域中的 cookie。因此,如果您从 facebook 以外的任何地方提供服务,您将无法影响 facebook cookie。
这是关于同一问题的另一个stackoverflow线程跨域cookie
要删除您已经在自己的域中设置的 cookie,您可以使用:
setCookie('CookieName', '', time()-3600);
从手册:
删除 cookie 时,您应确保过期日期已过,以触发浏览器中的删除机制。
在这里查看答案
// 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, '/');
}
}