zoukankan      html  css  js  c++  java
  • 2019.3.20 Session

    一。Session缓存和Cookie的区别:

    1.cookie数据存放在客户的浏览器上,session数据放在服务器上。
    2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
       考虑到安全应当使用session。

    3.session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
       考虑到减轻服务器性能方面,应当使用COOKIE。

    4.单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
    5.
    将登陆信息等重要信息存放为SESSION

       其他信息如果需要保留,可以放在COOKIE中

    二。判断登录时Session缓存是否存在此用户名

    use thinkfacadeSession;  //每次引用

    // 初始化
    protected function initialize()
    {}

    位置在tp5/thinkphp/library/think/Controller.php

    首先在admin/Base.php

    class Base extends Controller

    {

      protected function initialize(){

        if(!$this->isLogin()){  //判断它是否登录

          return $this->redirect("Login/index");  //如果没登录重定向到登录页

        }

      }

      //isLogin 判断是否登录

      public function isLogin(){

        if(!session("?username")){  //判断(当前作用域)是否赋值

          return false;

        }

         return true;

      }

    }

    在后台首页admin/index.php

    public function index(){

      if(!$this->isLogin()){

        return $this->redirect("Login/index");

      }

      return view();

    }

    到admin/Login.php中

    public Login extends Base

    {

      protected function initialize()

    {}

      public function index(){

        if($this->isLogin()){  //如果登录了

        return $this->redirect('Index/index');  //直接进到首页
       }

        return $this->fetch();

      }

    }

    最后在登录成功前

    // 赋值(当前作用域)
    Session::set('name','thinkphp');  //('username',$panduan['username']);
  • 相关阅读:
    C#数据结构一:基础知识
    使用工厂方法模式实现多数据库WinForm手机号码查询器(附源码)
    我的个人年度总结
    CutePsWheel javascript libary:控制输入文本框为可使用滚轮控制的js库
    CSS制作无图片圆角矩形
    将SqlServer数据库转换Sqlite的工具
    原创电子书:C#难点逐个击破
    (译)在非IE浏览器中实现“灰阶化”
    extjs 记录一下
    Ext.Window相关
  • 原文地址:https://www.cnblogs.com/liuwei1/p/10563151.html
Copyright © 2011-2022 走看看