zoukankan      html  css  js  c++  java
  • laravel框架用使用session 和cookie

    1.介绍

     cookie

    位于用户的计算机上,用来维护用户计算机中的信息,直到用户删除。比如我们在网页上登录某个软件时输入用户名及密码时如果保存为cookie,则每次我们访问的时候就不需要登录网站了。我们可以在浏览器上保存任何文本,而且我们还可以随时随地的去阻止它或者删除。我们同样也可以禁用或者编辑cookie,但是有一点需要注意不要使用cookie来存储一些隐私数据,以防隐私泄露

    cookie 

    session

    session称为会话信息,位于web服务器上,主要负责访问者与网站之间的交互,当访问浏览器请求http地址时,将传递到web服务器上并与访问信息进行匹配, 当关闭网站时就表示会话已经结束,网站无法访问该信息了,所以它无法保存永久数据,我们无法访问以及禁用网站

     session

    2.session与cookie的区别

    session与cookie的区别

    (1)Cookie以文本文件格式存储在浏览器中,而session存储在服务端它存储了限制数据量。它只允许4kb它没有在cookie中保存多个变量。

    (2)cookie的存储限制了数据量,只允许4KB,而session是无限量的

    (3)我们可以轻松访问cookie值但是我们无法轻松访问会话值,因此它更安全

    (4)设置cookie时间可以使cookie过期。但是使用session-destory(),我们将会销毁会话。

    总结:如果我们需要经常登录一个站点时,最好用cookie来保存信息,要不然每次登陆都特别麻烦,如果对于需要安全性高的站点以及控制数据的能力时需要用会话效果更佳,当然我们也可以结合两者,使网站按照我们的想法进行运行

    3.路由代码

    Route::get('cookie','CookieController@cookie');//cookie实验
    Route::get('getCookie','CookieController@getCookie');//得到cookie实验
    Route::get('session','SessionController@session');//session实验

    4.控制层代码

    4.1 session

    <?php
    
    namespace AppHttpControllers;
    
    use IlluminateHttpRequest;
    
    class SessionController extends Controller
    {
        //session例子
        public function session(Request $request)
        {
            //1.Http request session方法
    //        $request->session()->push('name','李四');
    //        var_dump($request->session()->get('name')) ;
            //2.session 类
    //        Session::put(['sex' => '男']);
    //        echo Session::get('sex');
    //        echo Session::get('sex1','女');//设定一个默认的值
            // 3.取全部值
    //        dd(Session::all());
            //4.删除某个值
    //        dd(Session::forget('name'));
        }
    }

    4.2 cookie

    <?php
    
    namespace AppHttpControllers;
    
    use IlluminateHttpRequest;
    use IlluminateSupportFacadesCookie;
    
    
    class CookieController extends Controller
    {
        //cookie的简单使用
        public function cookie()
        {
          return response('添加成功')->cookie('name','张三',1);
        }
        public function getCookie(){
    //   echo 
    equest()->cookie('name');
            echo Cookie::get('name');
        }
    }

     

  • 相关阅读:
    IT公司笔试题(一)
    select与poll函数介绍
    ps命令介绍
    strace命令介绍(转)
    STREAMS流机制
    记录锁
    spingboot启动报驱动Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of th
    list通过lambda 表达式去重,筛选
    Idea查看一个类和子类(实现类)的结构图
    Redis主从配置
  • 原文地址:https://www.cnblogs.com/yaoliuyang/p/12336587.html
Copyright © 2011-2022 走看看