在php.ini 中 关于session的配置项讲解

本文深入解析PHP中的Session配置项,包括存储方式、垃圾回收机制、安全性设置等关键内容,为开发者提供全面的Session管理指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其实关于seesion的配置项php.ini中写的很明白了,不过以着学习的态度,还是整理下,就当学习了。

1.session.save_handler = files

  这东西就是设置需要用什么东西存储session,files当然就是文件了。在项目中也可以通过 session_set_save_handler配置session的存储方式。(例如使用redis)。这个函数会在其他文章中详细的说明。

2.session.name=PHPSESSIONID

这东西就是名字了,也就是存储cookie的唯一标识。说白了就是再存浏览器中cookie的键名

3.session.save_path=\tmp

当存储介质为文件的时候,存储的路径,或者为memcached为memcached的连接地址。不过没试过

4.session.auto_start=0

这东西就是问你是不是自动启动会话,一般启动会话需要session_start(),如果开启了auto_start(设置为1),那么久不用session_start了,在请求开始的时候就自动开启了。

5.session.gc_probability=1  session.gc_divisor=100

这东西是设置启动垃圾回收的概率(在会话初始化阶段)按照这个设置就是1/100,百分之一的概率会启动(垃圾回收机制都干嘛了自行百度或者看我其他的文章,写没写不记得了,如果没写想看的话,评论哈!)

6.session.gc_maxlifetime=1440

这东西和垃圾回收机制有点关系,代表着在1440秒之后。(也就是24分钟,作者是不是很喜欢科比啊?)这个session会被看作是垃圾。(不是被清除了,是被看作是垃圾)在垃圾回收机制启动的时候可能会被清除。

7.session.serialize_handler = php

规定使用何种方式进行序列化(需要序列化的地方用那种方式进行序列化)

8.session.cookie_lifetime

以秒数指定了发送到浏览器的 cookie 的生命周期。值为 0 表示“直到关闭浏览器”。默认为 0

9.session.cookie_path

就是说在设置cookie的时候不仅可以根据域名也可以根据不同域名下的path来设置。指定了要设定会话 cookie 的路径。默认为 /

10.session.cookie_domain

session.cookie_domain 指定了要设定会话 cookie 的域名。默认为无,表示根据 cookie 规范产生 cookie 的主机名

11.session.cookie_secure

session.cookie_secure 指定是否仅通过安全连接发送 cookie。默认为 off。此设定是 PHP 4.0.4 添加的

12.session.cookie_httponly

将cookie标记为只能通过HTTP协议访问。这意味着脚本语言(如javascript)无法访问cookie。此设置可以有效地帮助通过XSS攻击减少身份盗窃(尽管并非所有浏览器都支持此设置)。

13.session.use_strict_mode

此设置防止会话模块使用未初始化的会话 ID。 也就是说,会话模块仅接受由它自己创建的有效的会话 ID, 而拒绝由用户自己提供的会话 ID。使用 JavaScript 对 cookie 进行注入就可以实现对会话 ID 的注入, 甚至可以在 URL 的查询字符串中或者表单参数中实现会话 ID 的注入。 大部分应用没理由也不应该接受由用户提供的未经初始化的会话 ID。

14.session.use_cookies

指定是否在客户端用 cookie 来存放会话 ID。默认为 1(启用)。

15.session.use_only_cookies

指定是否在客户端仅仅使用 cookie 来存放会话 ID。。启用此设定可以防止有关通过 URL 传递会话 ID 的攻击

16.session.referer_check

包含有用来检查每个 HTTP Referer 的子串。如果客户端发送了 Referer 信息但是在其中并未找到该子串,则嵌入的会话 ID 会被标记为无效。默认为空字符串。

17.session.entropy_file

给出了一个到外部资源(文件)的路径,该资源将在会话 ID 创建进程中被用作附加的熵值资源

18.session.entropy_length

 指定了从上面的文件中读取的字节数。默认为 0

19.session.cache_limiter

指定会话页面所使用的缓冲控制方法(none/nocache/private/private_no_expire/public)

20.session.cache_expire

以分钟数指定缓冲的会话页面的存活期,此设定对 nocache 缓冲控制方法无效

21.session.use_trans_sid

指定是否启用透明 SID 支持。默认为 0(禁用)。

先这些吧,有一些我也没有用到。等用到了在来补充吧!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值