php cookie的清除方法:首先创建一个PHP示例文件;然后通过setcookie创建cookie;最后通过“setcookie('test','',time()-3600);”方法清除建立的cookie即可。

推荐:《PHP视频教程》

本教程操作环境:windows7系统、PHP5.6版,该方法适用于所有品牌电脑。

PHP清除COOKIE,PHP无法删除COOKIE?

设置COOKIE有效期、COOKIE过期

PHP手册中提到:

PHP 透明地支持 HTTP cookie。cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。可以用 setcookie() 或 setrawcookie() 函数来设置 cookie。cookie 是 HTTP 标头的一部分,因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似。setcookie():

bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

要删除 cookie 需要确保它的失效期是在过去,才能触发浏览器的删除机制。

删除一个cookie的方法就是把这个cookie的有效期设置为当前时间以前,这也是几乎所有php程序员都会这么做。

例如:setcookie('test','true',time()+3600); //创建cookie

setcookie('test','',time()-3600); //清除建立的cookie

==================================================================================

如果直接setcookie("test", '');print_r($_COOKIE);

结果是整个$_COOKIE数组都是空的,而非仅仅$_COOKIE['testcookie']为空.于是用winsock抓包,观察返回的http头,发现http头竟然是Set-Cookie: testcookie=deleted; expires=Mon, 18-Jun-2007 02:42:33 GMT

这说明setcookie("testcookie", '');的的确确是将testcookie这个cookie直接删除.而关于这种情况在php手册中完全没有说明.

最后阅读php源码,终于发现真相(这就是开源的好处了,有什么不清楚的内幕直接查源码)

以下代码可以在php5.20的linux源码包中ext/standard/head.c第99行附近找到.if (value && value_len == 0) {

time_t t = time(NULL) - 31536001;

dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, t, 0 TSRMLS_CC);

sprintf(cookie, "Set-Cookie: %s=deleted; expires=%s", name, dt);

efree(dt);

} else {

sprintf(cookie, "Set-Cookie: %s=%s", name, value ? encoded_value : "");

if (expires > 0) {

strcat(cookie, "; expires=");

dt = php_format_date("D, d-M-Y H:i:s T", sizeof("D, d-M-Y H:i:s T")-1, expires, 0 TSRMLS_CC);

strcat(cookie, dt);

efree(dt);

}

}

源码中清清楚楚的显示,if (value && value_len == 0) ,当value_len为0

时sprintf(cookie, "Set-Cookie: %s=deleted; expires=%s", name, dt);

会发送删除cookie的http头给浏览器.

最后我们可以得出结论,在php中使用setcookie($cookiename, '');或者 setcookie($cookiename, NULL);

都会删除cookie,当然这些手册中并没有。

=====================================================================================

php cookie 无法删除/清除过期?

今天利用 Cookie 做网站的用户登录,经过调试,用setcookie("username", "username", time()+1000,"/php100/");

等储存用户的登录信息,然后利用setcookie("username", "", time()-3600);

做 退出,在IE下测试没有任何问题。既然做网站,就要兼容尽可能多的浏览器,呵呵。于是在 Firefox 中测试,登陆一切正常,当 推出时,遇到了麻烦。怎么也不会退出,用户总是在登录状态。于是查看了 IE、Firefox 中cookie记录的区别,经过测试,才恍然大悟。

原来如果没有指定 setcookie() 的第四个参数(合法路径参数),默认会把当前目录作为合法路径,而我测试的路径为:http://127.0.0.1/php/rss2fla/data /log.php ,所以导致登陆和退出时 所设置的 cookie 路径不同。

IE比Firefox要人性化,呵呵,当美指定路径时,会覆盖当前 IP 下的同名Cookie变量,而FireFox比较严格了,导致又重新建了个变量……

php怎么清空cookies,php cookie如何清除相关推荐

  1. html点击按钮删除session,Asp.net中安全退出时清空Session或Cookie的实例代码

    概览: 网站中点击退出,如果仅仅是重定向到登录/出页面,此时在浏览器地址栏中输入登录后的某个页面地址如主页,你会发现不用登录就能访问.这种所谓的退出并不是安全的. 那么怎样做到安全退出呢? 那就是点击 ...

  2. php cookie怎么清除,php cookie如何清除,

    php cookie如何清除如何清除PHP cookies,php cookie的清除方法:首先,创建一个php样本文件:然后创建一个cookie通过setcookie最后通过"setcoo ...

  3. 微信WebView关闭后本地cookie无法清除问题

    问题背景 在微信WebView下的页面中登录后,关闭WebView返回后再次进入页面,发现登录态还存在,原因是微信不会主动清除cookie以及其他的缓存. 期望是关闭窗口后会清除cookie,重新进入 ...

  4. python3 cookie_Python3标准库:http.cookies HTTP cookie

    1. http.cookies HTTP cookie http.cookies模块为大多数符合RFC2109的cookie实现一个解析器.这个实现没有标准那么严格,因为MSIE3.0x不支持完整的标 ...

  5. html5新增属性cookies,关于cookie的SameSite属性

    关于cookie的SameSite属性,我们其实可以看阮一峰老师的这篇:Cookie 的 SameSite 属性 大致在这里就概况下 1,SameSite 是谷歌浏览器针对 cookie 新增的一个属 ...

  6. 新增cookie、删除cookie、清除cookie

    参数 描述 name 必需.规定 cookie 的名称. value 必需.规定 cookie 的值. expire 可选.规定 cookie 的有效期.(new Date()) path 可选.规定 ...

  7. linux mysql 清空缓存吗_linux怎么清除缓存(转)

    ​Linux 清除内存中的cache 首先以Centos6.4的来说,Centos7有些区别 一.buffer/cache/swap的介绍 #cat /etc/redhat-release  #查看系 ...

  8. linux清除登陆命令,清空历史命令记录和清除登陆系统记录方法

    1.清除登陆系统成功的记录,也就是last命令看到的记录 [root@linuxzgf ~]echo > /var/log/wtmp 此文件默认打开时乱码的,里面可以看到ip等等信息 验证过程 ...

  9. javascript 清除 服务端 php cookie,Javascript清除cookie的方法

    当web服务器向浏览器发送网页后,连接被关闭,服务器会忘记用户的一切.Cookie是为了解决"如何记住用户信息"而发明的.有时为了我们的信息安全需要清除Cookie,我们该如何做呢 ...

最新文章

  1. jQuery - 当当网我的订单页
  2. apk转换ipa在线转换工具_gif转换工具
  3. Http协议中的数据传送之多重表单提交--multipart/form-data
  4. php重置密码,linux密码忘记重置密码的方法
  5. Coinbase报告:DeFi协议总锁仓价值已超250亿美元,同比增长2500%
  6. (转载)Fiddler 教程
  7. java读取串口设备信息_Java--串口之间的通信及扫描枪的读取
  8. 传智播客 C/C++学习笔记 字符串替换
  9. SharedPreferences小探
  10. [面试]HR最常用的20个面试问题及答案
  11. 现在的技术人啊,1小时200的活都看不上了吗?
  12. java定时任务不执行_【SpringBoot】为什么我的定时任务不执行?
  13. [附源码]计算机毕业设计springboot咖啡销售平台
  14. 傻瓜式文章一键伪原创工具
  15. 历史经验之解决vMix22闪退的办法(亲测管用)
  16. fat,fat32,ntfs,ext2,ext3等 文件系统说明
  17. html每个页面添加尾部
  18. Java学习——java语言概述
  19. 更改MAMP的mysql密码
  20. SVG:linearGradient渐变在直线上失效的问题解决方案

热门文章

  1. 浅谈企业内部安全漏洞的运营(一):规范化
  2. python全栈测试题(一)
  3. scrollIntoView()窗口滚动
  4. T3139 栈练习3 codevs
  5. 4种字符串匹配算法:有限自动机(中)
  6. Android 异步处理AsyncTask
  7. JSLite 的目标:缩小体积,做到 jQuery-free
  8. 国内首个基于liftweb开发的项目上线运营
  9. nagios 监控出现It appears as though you do not have permission
  10. NPOI导出Excel表功能实现(多个工作簿)