位置: IT常识 - 正文

PHP中ThinkPhp框架的token使用(thinkphp框架怎么用)

编辑:rootadmin

推荐整理分享PHP中ThinkPhp框架的token使用(thinkphp框架怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:thinkphp3.2框架,thinkphp5.0框架,thinkphp框架设计原理,thinkphp框架设计原理,php thinkphp框架,thinkphp5.0框架,thinkphp3.2框架,thinkphp5.0框架,内容如对您有帮助,希望把文章链接给更多的朋友!

在做登录信息核对时,面对源源不断的数据比对,都会给服务器造成一定的压力。对于我们常用的ThinkPhp框架也会有这样的困扰。不过有一种方法可以解决这类问题,那就是Token的作用。

一、token在ThinkPhp框架的使用

1.首先在数据库的 users 表中添加两个字段token、time_out

PHP中ThinkPhp框架的token使用(thinkphp框架怎么用)

token 用于存储用户的 token

time_out 用于设置用户 token 的过期时间

2.创建函数

checkToekn($token)

函数用于检验 token 是否存在, 并且更新 token。

publicfunctioncheckToken($token){$user=new\app\index\model\Users();$res=$user->field('time_out')->where('token',$token)->select();if(!empty($res)){//dump(time()-$res[0]['time_out']);if(time()-$res[0]['time_out']>0){return90003;//token长时间未使用而过期,需重新登陆}$new_time_out=time()+604800;//604800是七天$res=$user->isUpdate(true)->where('token',$token)->update(['time_out'=>$new_time_out]);if($res){return90001;//token验证成功,time_out刷新成功,可以获取接口信息}}return90002;//token错误验证失败}

3.创建函数

douserLogin($username,$password)

用于验证用户名密码, 并登陆, 返回 token 信息。

publicfunctiondouserLogin(){$user=new\app\index\model\Users();$userisset=$user->where('username',$username)->find();if($userisset==null){returnjson_decode('{"user":"'.$username.'","code":"400","msg":"用户不存在"}');}else{$userpsisset=$user->where('username',$username)->where('password',sha1(md5($password)))->find();if($userpsisset==null){returnjson_decode('{"user":"'.$username.'","code":"401","msg":"密码错误"}');}else{//session('user',$username);$token=$this->makeToken();$time_out=strtotime("+7days");$userinfo=['time_out'=>$new_time_out,'token'=>$token];$res=$user->isUpdate(true)->where('username',$username)->update($userinfo);if($res){returnjson_decode('{"user":"'.$username.'","toekn":'.$token.'"code":"0","msg":"登录成功"}');}}}}

二、Token的概念

token是客户端频繁向服务器端请求数据,服务器频繁的去数据库查询用户名和密码判断用户名和密码正确与否,并作出相应的提示,在这样的背景下,token便应运而生了。

本文链接地址:https://www.jiuchutong.com/zhishi/304503.html 转载请保留说明!

上一篇:python操作微信客户端:WechatPCAPI库实现自动化回复(python 微信)

下一篇:mysql InnoDB的四种锁定范围(mysql ndb innodb)

  • 增值税抵扣了还能作废吗
  • 本年计算扣除限额的基数怎么算
  • 季度所得税可以零申报吗
  • 员工回家探亲的文案
  • 折旧会影响利润表吗
  • 房地产公司拆迁部岗位职责
  • 企业招待客户的费用
  • 老板想提取销售公积金
  • 软件企业两免三减半税收政策到期
  • 法人变更了之前的支票还能进账吗?
  • 当月进项已认证,发现票有问题怎么处理
  • 一张抵扣发票能分多次抵扣不
  • 注册公司有哪些好处和坏处
  • 企业购入机器设备供方登记
  • 企业报表里面利润怎么填
  • 工会经费80%
  • 固定资产减值准备可以税前扣除吗
  • 无法偿还的应付款项予以转账
  • iphone6s怎么开启开发者选项
  • 适用加计抵减政策的行业
  • 除了电脑杀毒软件还有啥
  • 自开和代开增值税专用发票盖章要求有不同吗?
  • 公司基本户可以异地开户吗
  • phpstudy的ftp
  • php imagick
  • 保理业务的会计记账
  • 企业破产是不是要没收法人家里全部财产
  • 前端这点事
  • 难以置信含义
  • chat gpt 国内版免费手机
  • 苹果系统推送通知
  • 如何测试php
  • 企业商品库存周期是多久
  • 利息调整摊销额计入投资收益吗
  • 研发费用没有发票怎么做账
  • python类的继承与多态
  • 员工手机补助单怎么做账
  • deepin 15.3 X64系统中安装mongodb的方法步骤
  • 商誉减值损失怎么填
  • 货代一般一个柜利润多少
  • 企业代扣代缴个人所得税申报流程图
  • 享受专项附加扣除要什么时候申报
  • mysql数据库导出xml的实现方法
  • 房地产增值税可以抵扣吗
  • 固定资产清理损益表怎么填
  • 成本结账是什么意思
  • 不得抵扣增值税的情形
  • 旅行社差额征税全额开票和差额开票
  • 研发费用账务处理一定在管理费用吗
  • 实收资本印花税最新政策2023年
  • 物业公司劳务外包
  • 政府拨款怎么做账
  • 交通运输行业指什么
  • 增值税相关的问题
  • 苗木设计方案
  • sqlserver1053怎么解决
  • Ubuntu下mysql与mysql workbench安装教程
  • window8.1蓝屏
  • xp系统开机自动运行程序
  • ubuntu安装mkl
  • igfxsrvc module
  • windows8出现蓝屏
  • unetbootin教程
  • win7系统蓝牙搜索不到设备
  • reader_sl.exe - reader_sl进程有什么用.
  • win10预览体验三个选项
  • linux就要这样学
  • opengl 变形
  • 深入理解ffmpeg pdf
  • android 开发环境
  • android 一个绚丽的loading动效分析与实现!
  • JavaScript中setAttribute用法介绍
  • ubuntu libtorch
  • vue如何用
  • Adding iAd in your App from Unity3d
  • 青海国家税务局官网
  • 陕西省国家税务局
  • 银行赠送礼品活动方案
  • 江苏省国家税务总局江苏省电子税务局
  • 药品定价的三种形式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设