其中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 次 )
