栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何设置会话的生存期

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何设置会话的生存期

PHP上的会话与cookie类型的会话一起使用,而在服务器端,会话信息会不断删除。

要在php中设置时间,可以在session_start之前使用session_set_cookie_params 函数:

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

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

但是它是会话cookie,浏览器可以自行使它过期,如果您想保存长时间会话(例如记住登录),则需要将数据保存在服务器中,并将标准cookie保存在客户端中。

您可以有一个表“会话”:

  • session_id int
  • session_hash varchar(20)
  • session_data文字

并验证cookie,将“会话ID”和“哈希”(出于安全性考虑)保存在客户端,然后可以将会话的数据保存在服务器端,例如:

登录时:

setcookie('sessid', $sessionid, 604800);      // One week or seven dayssetcookie('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调用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/443045.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号