2.10回话控制考点

全方位剖析
回顾真题
考点分析
一网打尽

简述cookie和session的区别及各自的工作机制,存储位置等,简述cookie的优缺点

PHP的会话控制技术

为什么要使用会话控制技术

web是使用http的,而http是无状态的,也就是http没有内置的机制,维护两个事务的状态。所以同一的用户,请求同一界面两次的时候。http不会认为这两次请求来自同一用户,会把他们当做两次请求的独立。会把这两次请求隔离开。
如果用户之前登录过,再次登录的时候,http不认为你已经登录了。

不会保持登录状态。。。而我们的会话控制,就是保持登录状态。

思想就是:允许服务器跟踪同一用户的不同请求。从而完成登录状态的保持。

那会话控制技术,有哪些实现的方式呢?
通过get参数传递

这样不安全。比较拙略


Paste_Image.png

cookie的工作原理
是服务端给客户端的片段信息,再存储到客户端浏览器的内存或者是硬盘当中的技术。(就是存储在我们浏览器里面的文件,这个文件里面包含我们客户端的片段信息,例如登录,或者其他存储信息)

Paste_Image.png

cookie的操作
写操作setcookie($name,$value,$expire,$path,$domain,$secure);
$domain,$secure 域名和是否安全
读取cookie
$_COOKIE(); 是只读的

了解,可以使用数组
setcookie('a[b]','val');

要想删除的话,setcookie($name,'',time()-1000); 让他过期就好了

cookie,的优点和缺点
存储在客户端,所以不会占用服务器的资源

缺点:将数据存储在客户端,所以不建议讲一些敏感的信息,存储到cookie里面,而且用户有权限禁止cookie的使用。。。

session是将使用者相同的信息,存储到服务器当中。用户没有办法禁止session的使用。所以,他的优势,相较于cookie来说,还是比较明显的。但是session并不是完全脱离于cookie的,而是基于cookie的。

Paste_Image.png

session的操作
开始
session_start();
读取
$_SESSION;
清空
$_SESSION = NULL;
销毁的话

session_destory(); //并且,将sessionid也会删除掉。

session的配置

session.auto_start()
session.cookie_domain
session.cookie_lifetime
session.cookie_path
session.name
session.save_path
session.use_cookies
session.use_trans_sid

如果用户退出的时候,不删除,session会永久在你的浏览器的时候。
这需要我们的垃圾文件定时清理。
session.gc_probaility 垃圾处理机制
session.gc_divisor
session.gc_maxlifetime

session.gc_probaility=1 垃圾处理机制
session.gc_divisor=100
session.gc_maxlifetime=1440.。 超过100次,就会有一次,去清除,,当前的时间戳减去start的时间等于1440的session

session.save_handler 是session存储的句柄是什么
可以存到memcache 或者MySQL啊等等。

session的优点;
它的信息非常的安全
缺点:会占用服务器的内存。

并且它的分布式也是一个问题。redis

传递sessionID的问题。
cookie被禁用之后。
session_name()和session_id()来传递。

Paste_Image.png
Paste_Image.png

<a href='1.php?<?php echo SID;?>'>下个页面</a>
SID 如果cookie可用了的话,他的值是空。。。被禁用了的话,它的值才是
session_name().'='.session_id()

这个东西是比较智能的。

session存储的问题。。

Paste_Image.png

session_set_save_handler()
可以存MySQL,memcache,redis等。

Paste_Image.png

找不到文件的话,登录状态,会丢失。

Paste_Image.png
Paste_Image.png

1,存储到服务器
2.通过session_set_save_handler() 存储到memcache或者redis里面或者数据库

遍历的时候session数组。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容