PHP教程:COOKIE与SESSION联合实现跨域
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-03-16
e().”‘,稍后答案在清空过期SESSION GC方法中便会揭晓; public function destroy($sid) session的销毁,很简单,就是把数据表中等于这个SID的数据删除掉; public function gc($max_life_time) 清空过期session,把超过max_life_time的SESSION都销毁掉,也就是SESSION的创建时间加上最大生存时间小于现在时间( expiry+’.$max_life_time.’<’.time())的SESSION数据删除掉,这下你会明白为什么在写入和更新SESSION的方法中为什么写当前时间了吧,当然这个写法不是绝对的,随个人意愿只要你的SQL写正确了,也就可以了. 好我们接着来看更重要的部分: 上面的类中需要一个数据库链接属性,所以声明对象的时候需要这样: $session=new session(your db connect adapter); 数据库链接我可以提供大家一个PDO的方法,参照使用: function connect_db($arrPDODB){ $db=new PDO($arrPDODB[''db_driver''].’:host=’.$arrPDODB[''db_host''].’;dbname=’.$arrPDODB[''db_name''],$arrPDODB[''db_user''],$arrPDODB[''db_password'']); $db->query(”set names ‘utf8′”); return $db; } SO,上面声明对象部分你可以这样写: $session=new session(connect_db($arrPDODB)); 接下来: //设置色session id的名字 ini_set(''session.name'', ''sid''); //不使用 GET/POST 变量方式 ini_set(''session.use_trans_sid'', 0); //设置垃圾回收最大生存时间 ini_set(''session.gc_maxlifetime'', 3600); //使用 COOKIE 保存 SESSION ID 的方式 ini_set(''session.use_cookies'', 1); ini_set(''session.cookie_path'', ''/''); //多主机共享保存 SESSION ID 的 COOKIE,注意此处域名为一级域名 ini_set(''session.cookie_domain'', '' wemvc.com''); //将 session.save_handler 设置为 user,而不是默认的 files session_module_name(''user''); session_set_save_handler(array($session,''open''), array($session,''close''), array($session,''read''), array($session,''write''), array($session,''destroy''), array($session,''gc'')); 以上都是SESSION的设置,不明白的多搜索下手册,我喜欢刨根究底这样的学习方式,这样你可以学透一个知识点,而不是知道一知半解,就认为自己懂了或者会了. 最后在你需要的地方将SESSION启动: session_start(); 最后再提供一个如何防止Session伪造攻击的博文,希望能够仔细阅读. 好了,大功告成,只要在每个执行文 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 国外优秀的PHP开源网站内容管理系统下一篇: PHP代码实例:图片转成HTML
关于PHP教程:COOKIE与SESSION联合实现跨域的所有评论