11月21日:session

session和cookie相似,都是用来存储使用者的相关信息

区别:

cookie:存在于客户端计算机中

session:存在与服务器系统下

如何使用session

在使用session时,如何在没有更改session配置文件的情况下,在php脚本中使用session,需要先进行session_start():初始化session

区别:

 销毁session

第一种:bool session_destroy(void)

第二种:unset($SESSION['username'])

第三种:$_SESSION=array();

php.ini中session的相关配置

 拓展:

题外:实际项目中开发通常使用session来存储用户登录的资料,因为cookie存储不安全,会暴露在浏览器中,且用户可以进行更改,而存储于session中用户没法查看到有关信息。在当前开发中,我们能看到session文件的原因是我们在windows系统下创建了一个php服务端系统,但是在实际生活中,session文件是存储于远端服务器,是看不到session文件的。

 session相关配置

 session的自动回收机制

当开启session会话,服务器会在指定目录创建session文件。

如果会话已过期,此时Session文件失效,php就是把失效的文件视为垃圾文件,那么垃圾文件怎么删除呢?

Session会话过期,失效的文件不会立刻删除,是通过Session的垃圾回收机制删除失效文件。

当开启一个Session会话时:

PHP会根据php.ini配置文件中session.gc_probability和session.gc_divisor两个配置项的值,来决定是否启动一个GC(Garbage Collector)。

默认情况下:

session.gc_probability = 1

session.gc_divisor =1000

也就是说有千分之一概率可能性会启动GC清除过期的session会话文件。 

可以通过php.ini或者ini_set()函数来修改:

拓展内容:

token:CS架构常用,代替cookie和session建立连接

Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

​​​​​​​单点登录:单点登录(SSO)看这一篇就够了-阿里云开发者社区

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值