位置: 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)

  • 企业购进固定资产
  • 小规模计提税金及附加会计分录怎么写
  • 销项税额和进项税额月底怎么结转
  • 企业所得税怎么缴纳
  • 计提跟支付有啥区别
  • 关联方交易的会计处理方法
  • 处置使用过的车辆
  • 对公账号收款是结算主账户还是结算卡号
  • 有形动产租赁服务计入什么科目
  • 企业预算管理为何要以企业战略,核心竞争力,风险为导向
  • 雇佣外籍劳工
  • 房地产企业实收资本要求
  • 销售免税药品要进项税额转出吗
  • 废品损失一般不由本月生产的产品成本负担
  • 企业预缴所得税的比例要求
  • 小规模企业残疾人免税政策
  • 企业所得税汇算清缴时间
  • 税收征管法关于全款未收房的规定
  • 支票结算方式下用其他货币资金账户
  • 农副产品免税怎么报税
  • 增值税发票确认时间
  • 电子税务局如何查进项发票
  • 临时设施需要验收吗
  • 收购企业的账务处理流程
  • linux 界面卡死
  • 公司奖金没有按时发可以要吗
  • 什么叫即期结汇
  • 分配辅助生产成本时可能借记的科目有
  • mac osx10.11
  • ISBMgr.exe - ISBMgr是什么进程 有什么作用
  • PHP:imagestringup()的用法_GD库图像处理函数
  • php实现观察者模式
  • jsonobject忽略字段
  • 超级鸽卫星
  • css转换器
  • 微信小程序在哪里打开
  • react组件constructor
  • php正则匹配网址
  • 外贸出口企业的税务风险
  • pyqt 菜单
  • java处理字符串公式运算
  • mongodb服务端默认的端口号是多少?
  • 累计盈余下设明细科目吗
  • 年终奖个人所得税税率表
  • 安装sql server 2008提示重新启动计算机
  • 缴税零申报
  • 政府补助属于不征税金吗
  • 建筑业简易计税预交
  • 施工企业外经证交费的时候工会经费是怎么计算的
  • 积分兑换礼品需要什么
  • 新公司办公室装修费怎么记账
  • 借款和工程款可以分开吗
  • 摊余成本通俗
  • 如何调优产业结构
  • sql not in 与not exists使用中的细微差别
  • sqlserver 创建索引与使用
  • mysql的主从复制模式
  • windowsxp网络ip设置
  • 部署rancher
  • win7怎么免费升级win11
  • macbook硬盘中的其他
  • svchoost.exe - svchoost是什么进程 有什么作用
  • win8系统打不开exe
  • win8补丁官网
  • win10用户账户guest
  • python爬虫入门教程
  • opengl metal
  • Node.js中的事件循环是什么
  • 网页设计div css布局
  • 怎么设置网页就用指定浏览器
  • find 批处理
  • unity性能和内存优化
  • android事件处理方式有几种
  • 后缀名为是什么意思
  • 客户端脚本错误怎么解决
  • asyncio 的 coroutine对象 与 Future对象使用指南
  • 宁夏电子税务局登录入口
  • 广东电子税务局app
  • 河南省地税税务局官网
  • 纳税人逾期未申报的原因有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设