天道酬勤

Cookie管理

Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。利用Cookie来识别不同的用户,以显示与用户相应的内容。

##了解Cookie

Cookie是一种在远程浏览器端存储数据并以此来跟踪识别用户的机制。

换种说法呢,Cookie只是Web服务器暂时存储在用户硬盘上的一个简单的文本文件(其不是程序)。例如某些页面,当你登录过一次之后,第二次登录时,不需要重新输入账号和密码,就可以直接登录,这就是Cookie的作用之一。

##Cookie功能

  • 记录访客的某些信息。例如用户访问页面的次数,或者记录用户曾经输入过的某些信息。
  • 在页面之前传递变量。将本页的变量以Cookie的形式保存到本地,打开下一个页面时读取该Cookie来获取变量的值。
  • 将查看的页面存储在Cookies临时文件夹中,可以提高以后浏览的速度。

##创建Cookie

通过函数setcookie()创建Cookie。

Cookie是HTTP头标的组成部分,而头标必须在页面其他内容之前发送,它必须最先输出。

语法:

setcookie(name,value,expire,path,domain,secure)
  • name:Cookie的变量名
  • value:Cookie变量的值
  • expire:Cookie的失效时间
  • path:Cookie在服务器端的有效路径
  • domain:Cookie的有效域名
  • secure:指明Cookie是否通过安全的HTTPS,值为0或1
setcookie("testcookie","123",time()+60,"/11/",".xxx.com",1)
//Cookie变量名为testcookie,其值为123,生存时间为60s,仅在/11目录及其子目录有效,xxx.com域名下所有域名都有效,仅在HTTPS协议下有效。

##读取Cookie

直接通过超级全局数组$_COOKIE[]来读取浏览器端的Cookie值。

isset($_COOKIE["testcookie"])  //检测是否存在变量名为testcookie的Cookie文件

##删除Cookie

当Cookie被创建后,如果没有设置他的失效时间,那么其Cookie文件会在关闭浏览器时被自动删除。这种Cookie被称为会话Cookie

通常,删除Cookie有两种办法:

1、使用setcookie()函数进行删除

将第二个参数value置空,第三个参数Cookie的过期时间设置为小于系统的当前时间,即可删除Cookie值。

setcookie("testcookie","",time()-1)

拓展一下,time()函数:

time() 函数返回自 Unix 纪元(January 1 1970 00:00:00 GMT)起的当前时间的秒数。

2、可在浏览器中手动删除Cookie

谷歌浏览器中,设置->高级设置->清除浏览数据
 

##Cookie的生命周期

会话Cookie一般不保存在硬盘上,而是保存在内存中。若设置了Cookie的生存时间,那么浏览器会把Cookie保存到硬盘中。

虽然Cookie可以长久地保存在浏览器中,但是浏览器最多保存300个Cookie文件,而且每个文件最大容量为4KB每个域名最多支持20个Cookie,如果Cookie文件达到了浏览器限制时,则浏览器会自动地随机删除Cookies。

赞(1) 打赏
未经允许不得转载:HackerGu‘s Blog » Cookie管理
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专注黑客技术的研究

联系我们联系我们

觉得文章有用就打赏一下文章作者

微信扫一扫打赏