下面说说我能认知到的session是什么模样,希望有高手能指点一二哦。
做一个session表存储到mysql当中,包括SID、expiration日期和session值
一. 当用户浏览器存有$_COOKIE['PHPSESSID'],然后到session表当中找相同的SID,这样就可以把session值取出来,就是不用登陆了。
假如session表当中没有找到匹配值,表示expiration过期被自动删除了,那么需要用户重新登陆。
二. 用户浏览器没有$_COOKIE['PHPSESSID'],那么用户需要登陆,用户输入的值拿到user表当中比对,能正确匹配的的话插入一条记录到session表。
通常情况是COOKIE被用户删掉了,假设浏览器禁用cookie的话,那么用户每一次访问都需要登陆。
三. 如果浏览器禁用cookie的话,用户关闭浏览器再打开的话是不是session就失效了?
//我的一些设置
ini_set('session.save_handler', 'user');
ini_set('session.cookie_lifetime', '2592000');
ini_set('session.gc_maxlifetime', '2592000');//这个似乎无效 需要在get_cfg_var("session.gc_maxlifetime")后面手工加数字?


我也来说两句 查看全部评论 相关评论