【发布时间】:2016-09-19 09:20:15
【问题描述】:
理想情况下,要在 php 中删除 cookie,应该在创建 cookie 时设置完全相同的参数,除了值和过期时间:
创建 cookie:
setcookie('cookie1', 'value1', time()+10000, '/', 'domain.com', false, true);
删除 cookie:
setcookie('cookie1', '', time()-10000, '/', 'domain.com', false, true);
但是,当我想删除 cookie 时,如何获取设置的参数?假设我没有跟踪这些参数,例如,cookie 是使用某些第三方库创建的
是的,有删除方法:
setcookie($name, '', time() - 1000, "/");
setcookie($name, '', time() - 1000);
但这是“理想的”正确方法吗?所有浏览器(包括旧的)都支持这个吗?
无论如何,为所有浏览器正确删除所有cookie的方法是什么
如何设置完全相同的参数来删除 cookie(如果我不跟踪 cookie 创建)?
【问题讨论】:
-
“如果我不跟踪 cookie 创建”
-
@nogad,没找到你
-
@nogad 他知道他在代码中创建的 cookie 使用了哪些参数,但如果 cookie 是由第三方库创建的,他不知道使用了哪些参数。
-
抱歉,我在写的时候被叫走了。
-
如果一个库创建 cookie,并且它不使用默认参数,我希望它为您提供一种配置参数的方法。例如,PHP 的
session_set_cookie_params和session_get_cookie_params用于PHPSESSIDcookie。