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 think\facade\Session;  //每次引用

// 初始化
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‘]);

原文地址:https://www.cnblogs.com/liuwei1/p/10563151.html

时间: 2024-07-31 13:52:17

2019.3.20 Session的相关文章

loj刷题记录2019/2/20

#10064. 「一本通 3.1 例 1」黑暗城堡 题目描述 你知道黑暗城堡有 NNN 个房间,MMM 条可以制造的双向通道,以及每条通道的长度. 城堡是树形的并且满足下面的条件: 设 DiD_iDi? 为如果所有的通道都被修建,第 iii 号房间与第 111 号房间的最短路径长度: 而 SiS_iSi? 为实际修建的树形城堡中第 iii 号房间与第 111 号房间的路径长度: 要求对于所有整数 iii (1≤i≤N1\le i\le N1≤i≤N),有 Si=DiS_i= D_iSi?=Di?

PAT 甲级 A1010 (2019/02/20)

#include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long LL; LL Map[256]; // 0 ~ 9, a ~ z 与 0 ~ 35 的对应 LL Y = 1; // 定义LL型的Y LL inf = (1LL << 63) - Y; // long long 的最大值 2^63 - 1,注意括号 void init

2019.03.20

MVT模式   MVT各部分的功能:   M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理.       V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回响应.       T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html. Django分页 from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage def page_view(re

2019.03.20王苛震

1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <sys/time.h> 4 #include <signal.h> 5 #include <string.h> 6 #include <unistd.h> 7 8 #define MAX 1024 9 10 typedef struct { 11 int sec; 12 void (*any)(void *); 13 char

【你好,windows】嵌入式win8.1 X86X64企业纯净版安装版2019.6.20

1·采用Windows 8.1 专业版cn_windows_embedded_8.1_industry_enterprise_with_update_x86_dvd_6052218.iso和cn_windows_embedded_8.1_industry_enterprise_with_update_x64_dvd_6052153.iso原版制作,打齐到2019年6月13日微软发布的月 累积安全更新补丁KB4503276和远程控制认证漏洞补丁KB4503290(包含勒索补丁kb4012213).

2019.7.20十道js题目

// 1.声明一个变量,保存学生的年龄(stuAge),值为18 var stuAge = 18; // 2.声明一个变量,保存学生的成绩(stuScore),值为98.5 var stuScore = 60; // 3.声明一个变量,保存学生的姓名(stuName),值为张三丰 var stuName = "张三丰" ; // 4.声明一个变量,保存学生的性别(stuSex),值为女 var stuSex = "女"; // 5.打印以上输入的变量的值 控制台输出

2019/8/20 C语言回顾(2)

一.逻辑运算符 &&  逻辑与 表达式1 && 表达式2 1          1          1 1          0          0 0          1          0 0          0          0 口诀:与0为0,与1不变 特点:当表达式1结果为真的时候,会继续判断表达式2的结果,但如果表达式1的结果为假,则不会去判断表达式2是否成立 || 逻辑或 表达式1 || 表达式2 1          1        1 1 

JAVA课上课后问题总结(2019.09.20)

一.关于原码,反码,补码. 原码,反码,补码都是计算机存储数字的编码方式,其中计算机内部用补码的形式存取数据. 原码 原码就是符号位加上真值的绝对值,即首位为符号位(1表示负,0表示正)其后表示其值.如: 3 的原码 --> 0000 0000 0000 0000 0000 0000 0000 0011 -3 的原码 --> 1000 0000 0000 0000 0000 0000 0000 0011 反码 正数的反码是其本身不变, 负数的反码是在其本身基础上,符号位不变其余各位取反.如:

2019.9.20 csp-s模拟测试48 反思总结

头疼,不说废话了,祝大家rp++. T1: 暴力枚举,n3. 枚举两个串开始匹配的位置,每一次尽量修改. #include<iostream> #include<cstdio> using namespace std; int n,k,cnt,num,ans; char a[310],b[310]; int main() { scanf("%d%d",&n,&k); scanf("%s",a+1); scanf("%