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

  • 个人所得税手续费返还增值税税率
  • 税后净利润怎么算股价
  • 租赁费税率3%
  • 利息支出可以抵扣吗
  • 一般纳税人转成小规模的条件
  • 资产负债表总账科目有哪些
  • 如何根据会计凭证登记账簿
  • 房产原值怎么计算房产面积
  • 发票开具税收分类是什么意思?
  • 小规模纳税人免税会计分录
  • 本月计错多发的工资可以不交个税
  • 2018年用2015年的发票入账有什么税务的风险?
  • 专票住宿费认证怎么操作
  • 小规模纳税人的企业所得税怎么算
  • 退休人员取得单位证明
  • 城镇土地使用税会计分录怎么做
  • 分公司收到总公司拨款怎么做分录
  • 公司注销无法支付的款项如何处理
  • 汽车维修公司如何经营粉丝群才能让潜在客户注意到我们
  • 本月合计怎么做
  • 出口退税系统中的出口货物已补税未退税证明怎么填
  • 用盈余公积弥补职工福利费是什么类型
  • 上年度所得税未计提已交本年度如何计提
  • php 数字转中文
  • php安装及使用教程
  • 经营性支付与非经营性支付
  • linuxssh免密登录
  • 买股指期货有什么条件
  • lstm多对多
  • 艾草的功效与作用洗头
  • PHP:pcntl_signal()的用法_PCNTL函数
  • 同业代付会计分录
  • 培训费收入交什么税
  • layui 日期控件赋值
  • 资金筹集业务核算实训内容
  • 软件是无形的,可见的物理实体
  • php批量删除操作记录
  • 如何把html数据导入表格
  • vue3安装配置
  • object的类有哪些
  • 如何解决php乱码
  • 一般纳税人暂估入账的会计分录
  • 库存商品的进销存怎么做账
  • centos上安装vscode
  • mongodb 入门
  • sql分页存储过程
  • sqlserver2008sa用户不能登录
  • mysql创建数据库的操作步骤
  • 车险代买的出了事故怎么办
  • 短期借款有哪几种类型
  • 公允价值变动损益在利润表哪里
  • 发票冲红给对方单位说明怎么写
  • 餐饮费与业务招标的关系
  • win8.1安装失败
  • sql中将数据放到另一个表中
  • win10怎么设置开机自启软件
  • ubuntu20.04忘记用户密码怎么办
  • browsercore.exe是什么
  • smsss.exe - smsss是什么进程
  • win7系统播放器在哪
  • w7打穿越火线
  • centos7 zsh
  • win10怎么把系统盘迁移到另一块盘
  • cocos2d官网
  • tensorflow for
  • unity点击按钮没反应
  • php autoload
  • shell按行读取文件存入数组
  • 查看系统网络连接数
  • ja开发
  • 安卓系统滑动设置
  • javascript的对象有哪些
  • jquery有哪些
  • unity效率
  • html里的标签
  • 怎么理解python
  • 平谷大集时间表2022
  • 广州市地税
  • 12123罚款滞纳金不能交嘛
  • 关联企业签订劳动合同的次数可以累计吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设