您的位置:首页 > 编程语言 > PHP开发

PHP Cookie与Session的使用与区别

2014-08-11 22:54 591 查看
http://bbs.aseoe.com/thread-646-1-1.html

Cookie与Session

Cookie和session是目前使用的两种存储机制。

cookie是从一个WEB页到下一个WEB页面的数据传送方法,cookie存储在客户端。

Session是让数据在页面中持续有效的一个传递方法,session存储在服务器端。

掌握了cookie与session这两个技术,在WEB网站页面间信息传递的安全性是非常必要的,也是必不可少的。

一、 
  
   Cookie管理

1、 
  
  
  
 Cookie

Cookie是一种在远程浏览器端存储数据并以此跟踪和识别用户的机制。简单的说,cookie是WEB服务器暂时存储在用户硬盘上的一个文本文件,并随后被WEB浏览器读取。当用户在次访问WEB网站时,网站通过读取cookie文件记录这位访客的特定信息(如上次访问的位置、花费的时间、用户名和密码等)从而迅速做出响应,如在页面中不需要输入用户名和密码等,就可以直接登录网站等。文本文件的命令格式如下:

用户名@网站地址[数字].txt

打开”我的电脑”—C盘(系统盘)---documentsand settings—administrator—cookie

这个路径就是cookie文件存储的路径。Administrator是当前使用的用户名,也就是登录本机的用户名,administrator@sogou[1].txt是指定格式自动生成的cookie文件,index.dat是用来保储所有打开的WEB网站的信息,该文件会随着用户打开的网站随时进行更新,在cookie文件夹下的每一个cookie文件都是一个简单而又普通的文本文件,而不是程序。Cookie中的内容大多是经过了加密处理的,因此表面看起来只是一些字母和数字的组合,这些内容只有服务器才知道他们真正的含义。

Cookie常用于以下3个方面:

    
 
记录访客的某些信息。如可以利用cookie记录用户访问网页的次数,或者记录访客曾经输入过的信息,另外,某些网站可以应用cookie自动记录访客上次登录的用户名。

    
 
在页面之间传递变量。浏览器并不会保存当前页面上任何变量信息的,当页面被关闭,页面上的任何变量信息将随之消失。如果用户声明一个变量id=8,要把这个变量传递到另一个页面,可以把变量id以cookie形式保存下来,然后在下一页通过读取该cookie来获取变量的值。

    
 
将所查看的internet页礁在cookie临时文件夹中,这样可以提高以后浏览的速度。

2、 
  
  
  
 创建Cookie

在PHP中通过setcookie函数创建Cookie。在创建之前必须了解的是,cookie是HTTP头标的组成部分,而头标必须在页面其他内容之前发送,它必须最先输出,即使在setcookie()函数前输出一个HTML标记或echo语句,甚至一个空行都会导致程序出错。语法如下:

Bool setcookie(string name[,string value[,int expire [,stringpath
[,string domain [,int secure]]]]])

该函数的参数说明如表:

   
Name  cookie的变量名  可以通过$_cookie[“cookiename”]调用变量名cookiename的cookie

   
Value  cookie的变理名  该值保存在客户端不能用来保存敏感数据。可以通过$_cookie[“value”]获取名为values的值

   
Expire  cookie的失效时间,expire是标准的UNIX时间标记,可以用time()函数或mktime()函数获取,单位为秒。

    Path 
 
cookie在服务器端的有效路径  如果该参数设置为“/”,则它就在整个domain下的/11目录及子目录内有效。默认是当前目录。

   
Domain  cookie有效的域名  如果要使cookie在mrbccd.com域名下的所有子域都有效,应该设置为mrbccd.com

    Secure
指明cookie是否通过仅通过安全的https,值为0或1,如果值为1,则cookie只能在HTTPS连接上有效,如果值为默认值0,则cookie在HTTP和HTTPS连接上均有效。

例:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: