将session数据存储到cookie的类库

浏览:738 发布日期:2019/03/23 分类:系统代码 关键字: php session cookie
将session数据存储到cookie的类库,完整代码请下载附件,
其中test1.php, test2.php是演示操作。需要在php5.4以上的环境测试,
已经修正了php7.0以上的 E_WARNING:session_write_close(): Session callback expects true/false return value
欢迎转载
欢迎访问我的小站:http://3d5156.com/
平时我们做一些会员系统,需要登录,一般会用cookie/session存储用户的信息,但是cookie是不安全,如果不是加密存储会被伪造,但session默认是随浏览器进程,关闭浏览器就消失,给用户造成不方便,存储在redis或memcache中,一般的开发者如果不能独立配置安装服务器的话,这些扩展默认都是不开启的,而且在一些需要跨域的操作的时候,session默认是不能跨域,这个类库就是为了解决这些问题而开发的。
可能表述的有点问题,但目前在我的个人站点已经很好实践,因为我是采用了session和cookie双重验证,平时我从3d5156.com登陆,但是到了www.3d5156.com。又要重新登陆一遍,现在用了这个类库就很简单解决了。<?php

session_start();
require './Cookie.php';
$secret = "3123123"; //密钥

//设置session 值
function setSession($name , $value)
{
    global $secret;
    $handler = new Cookie($secret , '');
    session_set_save_handler($handler, true);
    return $handler->write($name, $value);
}

echo '中文啊啊222';
setSession('dad' ,'8888888888');
setSession('foo' ,  array('name'=>'Tom', 'password'=>'12345678')  );
session_start();
require './Cookie.php';    
$secret = "3123123";
//获取session 值
function getSession($name)
{
    global $secret;
    $handler = new Cookie($secret , '');
    session_set_save_handler($handler, true);
    return $handler->read($name);
}



print_r( getSession('dad') );
print_r( getSession('foo') );


//可以看看cookie里面有什么变量
print_r($_COOKIE);
验证的方法很简单,解压放到你的web任意目录下,运行http://你的网址/test1.php,它就是设置session值到cookie了,
然后关闭浏览器,再重新开启浏览器,默认的话,session应该会被清空,但这是时你运行http://你的网址/test2.php
你就可以看到效果。

附件 cookie.zip ( 3.69 KB 下载:3 次 )

评论( 相关
后面还有条评论,点击查看>>