您的位置:首页 > 编程语言 > PHP开发

PHP之CodeIgniter框架SESSION是怎么实现的

2013-03-02 20:55 357 查看
CodeIgniter框架的SESSION是完全摒弃了PHP原有SESSION机制,自己用COOKIE实现的。其实现的流程大致如下:
// session id的生成$sessid = '';while (strlen($sessid) < 32){        $sessid .= mt_rand(0, mt_getrandmax());}$sessid .= 'IP地址';$session_id = md5(uniqid($sessid, TRUE)); //最后的SESSION_ID// cookie或者数据库中存储的数据$userdata = array(        'session_id'    => $session_id,        'ip_address'    => 'IP地址',        'user_agent'    => '用户浏览器信息前120个字符',        'last_activity' => '最新时间,即现在',        'user_data'             => '其他数据');// 需要时将 $userdata 写入到数据库中$cookie_data = serialize($userdata);// 分支一:配置了加密的情况$cookie_data = '对序列化后的 $cookie_data 进行一系列加密处理';$cookie_data = base64_encode($cookie_data);// 分之二:没有配置加密的情况$cookie_data = $cookie_data.md5($cookie_data.'密钥');// 最终设置cookiesetcookie('ci_session', $cookie_data, '过期时间', '作用路径', '作用域', 'cookie自带加密');
原文出自:http://phper.baike.com/article-373135.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: