优化使用mysql存储session
= serialize($dbSession[''value'']); if(strlen($dbSession[''value''])>255)$this->_error(''session->value is too long!''); if($this->isNew == 1){ //增加 $this->_model->insert($dbSession); }else{ //更新 $sid = $dbSession[''sid'']; $this->_model->update(array_slice($dbSession,1),''sid=\''''.$sid.''\''''); } } private function _getSession($sid){ $dbSession = $this->_model->detail(''sid = \''''.$sid.''\''''); if(!$dbSession)return false; $dbSession[''value''] = unserialize($dbSession[''value'']); $this->session = array_merge($dbSession,$this->session); return true; } private function _getSid(){ $sid = strip_tags(
Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
if(strlen($sid)==32){ if($this->_getSession($sid)){ return true; } }else{ $sid = md5(time().mt_rand(1000,10000)); $this->_setCookie($this->_sessionPrex.''_sid'',$sid); } $this->_setCookie($this->_sessionPrex.''_uid'',0); $this->session = array( ''uid'' => 0, ''username'' => '''', ''usertype'' => -1, ''activetime'' => $this->_time, ''ip'' => $this->_getip(), ''url'' => strip_tags(
Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
''expiry'' =>$this->_expiry, ''value'' => array() ); $this->isNew = 1; $this->session[''sid''] = $sid; } private function _setCookie($name,$value,$expiry=0){ if(empty($expiry))$expiry = $this->_expiry; if(empty($this->_domain)){ setcookie($name,$value,$this->_time + $expiry,''/''); }else{ setcookie($name,$value,$this->_time + $expiry,''/'',$this->_domain); } } private function _getip(){ return getip(); } private function _setOptions($options){ foreach ($options as $key=>$value){ if(in_array($key,array(''sessionPrex'',''time'',''model'',''expiry'',''domain''))){ $key = ''_''.$key; $this->$key = $value; } } } private function _error($msg){ throw new Phpbean_Exception($msg); } } ?> (注意,该代码不能直接使用,本文主要是提供一种思路) |
||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |