ThinkPHP之中利用commom被继承控制器控制访问每一个控制器方法都需要验证是否已经登录!
2024-10-11 02:43:40
防止
<?php namespace Home\Controller; use Think\Controller; class CommonController extends Controller{ public function _initialize() { if(empty($_COOKIE['user_login_mobile'])) { redirect(U(,'请注册...'); }else{ $user=D('user'); $mobile=pwd_decode($_COOKIE['user_login_mobile']); $user_msg=$user->where("mobile=$mobile")->select(); if(empty($user_msg)){ cookie('user_login_mobile',null); redirect(U(,'请注册...'); } } } }
加密解密方法:
//加密 function pwd_encode($data,$key,$expire) { $key=$key?$key:C('PWD_KEY'); $expire=$expire?$expire:C('AUTO_LOGIN_TIME'); return \Think\Crypt\Driver\Think::encrypt($data,$key,$expire); } //解密 function pwd_decode($data) { $key=$key?$key:C('PWD_KEY'); return \Think\Crypt\Driver\Think::decrypt($data,$key); }
加密啊:
//登录成功>>>>>>> //加密 $user_login_mobile=pwd_encode($data['mobile']); //存入cookie,保存时间1个星期,一个星期内不需要再次登录 cookie('user_login_mobile',$user_login_mobile,3600*24*7); //之后跳转首页 redirect(U('Home/Index/index'), 2,'登录成功...');
用COOKIE而不用session你知道为什么吗
最新文章
- [转]SpringMVC Controller介绍及常用注解
- mysql CREATE USER
- Ubuntu14.04安装wineqq国际版
- ListView.post(Runnable {})和ListView.postDelayed
- vscode 编写python如何禁止 flake8 提示 line too long
- 技术那么多,你想看看JSON Schema的测试吗?
- 12秒开机!ExpressCache SSD缓存加速
- ASCII码详解
- Altera USB Blaster 仿真器(EPM240仿制版
- c#类库中使用Session
- atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系
- linux 通过pid寻找程序路径的最简单命令
- 格式化输出prettify()
- ●BZOJ 3926 [Zjoi2015]诸神眷顾的幻想乡
- 怎么写自己的CMakeLists.txt
- Spotlight监控Oracle--Spotlight On Oracle安装和使用
- vue 点击当前元素添加class 去掉兄弟的class 获取当前点击元素的文字
- Window10系统中MongoDB数据库导入数据文件
- Java面向对象和高级特性 项目实战(一)
- 编写高质量代码:改善Java程序的151个建议 --[106~117]