Chinaunix首页 | 论坛 | 博客
  • 博客访问: 199886
  • 博文数量: 99
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1045
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-15 14:24
文章分类
文章存档

2015年(9)

2014年(90)

我的朋友

分类: 信息化

2014-09-18 17:03:19

  Kohana的Session_Cookie可以将会话数据加密,然后以cookie形式保存在客户端。
步骤如下:
1. 在bootstrap.php中增加以下代码:
    Cookie::$salt='i love U!';  //自定义Cookie的salt值,否则有异常提示
2. 在application/config/encrypt.php中,代码return array()中增加以下代码:
  //自定义名为‘my_crpyt’加密的设置
 'my_crpyt' => array(
       'key'=>md5("hello world"),//16个字节的密匙
       'cipher' => MCRYPT_RIJNDAEL_128,
       'mode'   => MCRYPT_MODE_NOFB,
     )
3. 在application/config/session.php中,代码return array()中增加或修改以下代码:
 //Session_Cookie的设置
 'cookie' => array(
     'name'=>'my_session_cookie', //命名
     'encrypted' =>'my_crpyt', //引用加密的实例名
)
4. 在application/classes/controller/welcome.php中,增加以下代码:
//服务端将加密的会话数据,以cookie形式发送给客户端保存
 public function action_sesscookie_save()
 {          
    $session=Session::instance('cookie');
    $session->set('username','TonyZhao')
         ->set('email','mr_zyf@163.com');
    $this->response->body('会话数据保存!');
 }
 //加密的会话数据,以cookie形式,从客户端送回服务端,由服务端解密且获取会话数据
 public function action_sesscookie_get()
 {   
   echo("送回服务端cookie的加密数据:
");
   var_dump($_COOKIE);
   $session=Session::instance('cookie');
   $user['username']=$session->get('username');
   $user['email']=$session->get('email');
   echo "
";
         echo("解密后的会话数据:
"); 
   var_dump($user);
 }
阅读(506) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~