laravel中使用cookie详解

13 篇文章 0 订阅
前面的话:
	Laravel会加密所有已创建的cookie信息,并附加上授权码,当客户端擅自修改cookie信息时,该cookie将被废弃,从而保证安全性。
1.Cookie::make() 添加一个新的cookie 、Cookie::forever() 创建一个永不过期的cookie键值、Cookie::get() 获取一个指定的cookie值
 
 
  1. Route::get('cookieset'function()  
  2. {  
  3.     $foreverCookie = Cookie::forever('forever''Success');  
  4.     $tempCookie = Cookie::make('temporary''Victory', 5);  
  5.     return Response::make()->withCookie($foreverCookie)->withCookie($tempCookie);  
  6. });  
  7.   
  8.   
  9. Route::get('cookietest'function()  
  10. {  
  11.      $forever = Cookie::get('forever');  
  12.      $temporary = Cookie::get('temporary');  
  13.      return View::make('cookietest'array('forever' => $forever'temporary' => $temporary'variableTest' => 'works'));  
  14. });  

注意:

laravel5.2使用make有点问题
需要使用是可以的
Cookie::queue('GobackUrl', $url, 30);
有些时候,你想设置一个 Cookie 是不加密的,例如想用来跟 JS 交互,JS 可以直接读取到明文,可是以下面的代码设置后:
解决方案#
	如你cookie 键值为cookie_for_js的需要与前台交互
 	添加到 App\Http\Middleware\EncryptCookies 的 排除名单 中:

  
  
  1. <?php  
  2.   
  3. namespace App\Http\Middleware;  
  4.   
  5. use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;  
  6.   
  7. class EncryptCookies extends BaseEncrypter  
  8. {  
  9.     /** 
  10.      * The names of the cookies that should not be encrypted. 
  11.      * 
  12.      * @var array 
  13.      */  
  14.     protected $except = [  
  15.         'cookie_for_js',   
  16.     ];  
  17. }  
对了,如果要给 JS 读取的话,要把 cookie 的 http only 属性去掉,请使用以下代码:

  
  
  1. Cookie::queue('cookie_for_js''can you read me?'$minutes = 99999999, $path = null, $domain = null, $secure = false, $httpOnly = false);  
2、Cookie存储数组:
  1. Route::get('cookieset'function()  
  2. {  
  3.     $user_info = array('name'=>'good','age'=>12);  
  4.     $user = Cookie::make('user',$user_info,30);  
  5.     return Response::make()->withCookie($user);  
  6. });  
  7.   
  8. Route::get('cookietest'function()  
  9. {  
  10.     dd(Cookie::get('user'));  
  11. });  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值