face9 会话控制

2018-11-10  本文已影响0人  谢凌

会话控制

充分理解 seesion和cookie的工作原理

默认存储服务器文件,遍历

$_SESSION数组

lvs

session

session_set_save_handler()

不建议使用文件存储

存储 建议存储 mysql  memcache  redis等

传递 seesionID的问题

session_name()

session_id()

<?php echo session_name().'='.session_id()? >

禁用cookie  SID= session_name().'='.session_id() 不禁用为空

<?php echo SID? >

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

cookie  服务器发送给客户端的片段信息,存储在客户端浏览器内存或硬盘当中的技术 文件

cookie的操作

写 setcookie($name,$value,$expir,$path,$domain,$secure);

读 $_COOKIE

数组形式setcookie('a[b]','val');

删除setcookie($name,'',time()-1000);

优点缺点

存储客户端 不占用服务器资源 效率会高一些

不建议敏感重要的信息保存cookie 用户可以禁止cookie  一旦cookie被禁止,没有办法保存用户信息了

session 服务端

基于cookie 用户没有权限禁用

存储在服务端的session文件里

seesion id存储cookie里 cookie被禁用 可以通过url传递,保存session状态

配置

seesion.auto_start  是否自动开启  seesionstart

seesion.cookie_domain  存储sessionid cookie的有效域名

seesion.cookie_lifetime 存储sessionid cookie的生命周期

seesion.cookie_path存储sessionid cookie的路径

seesion.name  默认 PHPSESSID

seesion.save_path session存储路径

seesion.use_cookies 是否使用cookie传递 session id

seesion.use_trans_sid  是否使用传递方式传递 session id

垃圾回收机制 配合使用

每100次请求 有1次清空 超期资源-不建议很小

seesion.gc_probability =1    1次

seesion.gc_divisor=100  访问100次清空

seesion.gc_maxlifetime=1440 最大生命周期 

seesion.save_handler seesion存储句柄

优点

安全

占用服务器资源

分布式问题

开启session_start();

$_SESSION

删除$_SESSION=[]

删除session_destroy();

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

http无状态 保持连续请求 登录状态保持

通过get方式传递 参数丢失 不安全

上一篇下一篇

猜你喜欢

热点阅读