PHP之cookie和session

Posted ChotocateCat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP之cookie和session相关的知识,希望对你有一定的参考价值。

 1 //了解cookie :在客服端浏览器存储数据跟踪用户和识别用户的机制
 2                     //简单的说就是 cookie是web服务器暂时存储在用户硬盘上的一个文件,随后被web浏览器读取,当用户再次发那个文该web网站,通过读取cookie文件记录这位方可的特定信息,从而迅速做出相应,用户不需要输入用户的ID和密码即可直接登录网站 cookie的功能:1.记录方可的某些信息 2.在页面之间传递变量 3.将所查看的网页存储在cookie临时文件夹中,可以提高以后浏览的速度
 3     
 4         
 5 
 6     //创建cookie
 7         // bool setcookie(string name[,string value[,int expire[,string path[,string domain[,int secure]]]]])
 8         //name cookie的变量名字 通过 $_COOKIE["cookiename"] 调用变量名为cookiename的cookie
 9         //value cookie变量的值 该值保存在客户端,不能用来保存敏感数据 可以通过$_COOKIE[‘values‘] 获取values的值
10         //expire cookie 的失效时间
11         //path cookie在服务器端的有效路径
12         //domain cookie 有效的域名 
13         //secure 指明cookie是否近通过安全的https 值为0或1
14 
15         setcookie("testCookie",‘www.baidu.com‘);
16         setcookie("testCookie",time()+60);
17 
18     //读取cookie的方法
19         //检测cookie文件是否存在,如果不存在设置
20             if (!empty($_COOKIE[‘testCookie‘]) {
21                 setcookie(‘myCookie‘,date(‘y-m-d H:i:s‘));
22             }else{
23                 //如果存在保存失效时间
24                 setcookie(‘myCookie‘,date(‘y-m-d H:i:S‘),time()+60);
25                 echo $_COOKIE[‘myCookie‘].date("y-m-d H:i:s");    
26             }
27     //删除cookie
28     setcookie(‘myCookie‘,time()-1);        
29 
30     //cookie声明周期
31         //如果不设置cookie失效时间,他的生命周期随浏览器关闭而消失。这种cookie被称为会话cookie,一般不会爆粗在硬盘上,而是保存在内存中。
32         //浏览器最多可以支持300个cookie文件,每个文件大小4KB,美个域名最多支持20个cookie,如果到达期限会自动删除。
33 
34 
35     //session了解
36         //session是只一个终端用户与交互系统进行通信的时间间隔,从注册进入系统到注销退出系统所经过的时间。
37         //原理:当启动会话,会随机生成唯一session_id 也就是session的文件名字,session_id存在服务器的内存中。当关闭页面此id会自动注销,重新登录此页面,会再次生成。
38         //功能:核对用信息,方便用户下次登录。
39 
40     //启动回话,注册会话,使用会话,删除会话
41         //创建一个会话 有两种方式: 1 session_start() ; 2 session_register() 这种会隐藏地启动会话。
42         //注册创建会话:需要在php.ini register_globals指令设置为:ON
43 
44         session_start();
45         $_SESSION[‘admin‘] = null; //声明一个名为admin的变量,并且赋值为null
46 
47         //使用会话
48             //首先判断会话变量是否存在,如果不存在就创建
49             if (!empty($_SESSION[‘admin‘])) {
50                 $mysess = $_SESSION[‘admin‘];
51             }
52         //删除会话, 删除耽搁会话,删除多个会话,结束当前会话
53         //1 删除单个会话
54         unset($_SESSION[‘admin‘]);
55         // 2删除多个会话
56         $_SESSION=array(); //就是把session数组里边的数据清空    
57         //3 结束当前会话
58             //如果整个会话结束,应该先注销所有的会话变量,然后用session_destroy()函数清除结束当前的会话,并且清空所有的资源
59             unset($_SESSION[‘admin‘]);
60             session_destroy();
61 
62     

 


以上是关于PHP之cookie和session的主要内容,如果未能解决你的问题,请参考以下文章

php手记之07-tp5 cookie与session

前端学PHP之会话Session

PHP会话控制之失效时间与过期回收机制

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段

Cookie 和 Session

XSS利用之延长Session生命周期