会话的生命周期默认为php,如何设置会话的生命周期

PHP上的会话使用Cookietypes的会话,而在服务器端会话信息不断删除。

为了在php中设置时间生命,可以在session_start之前使用函数session_set_cookie_params:

session_set_cookie_params(3600,"/"); session_start();

例如,3600秒是1小时,2小时3600 * 2 = 7200。

但它是会话cookie,浏览器可以自行过期,如果你想节省大量的时间会话(如记住login),你需要将数据保存在服务器和客户端的标准cookie。

你可以有一个表“会议”:

session_id int

session_hash varchar(20)

session_data文本

validation一个Cookie,你在客户端保存“session id”和“hash”(为了安全),你可以把会话的数据保存在服务器端,例如:

login时:

setcookie('sessid', $sessionid, 604800); // One week or seven days setcookie('sesshash', $sessionhash, 604800); // One week or seven days // And save the session data: saveSessionData($sessionid, $sessionhash, serialize($_SESSION)); // saveSessionData is your function

如果用户返回:

if (isset($_COOKIE['sessid'])) { if (valide_session($_COOKIE['sessid'], $_COOKIE['sesshash'])) { $_SESSION = unserialize(get_session_data($_COOKIE['sessid'])); } else { // Dont validate the hash, possible session falsification } }

显然,在发送数据之前保存所有会话/ cookie调用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值