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

  • 增值税申报可以作废几次
  • 税务是怎么回事
  • 咨询服务费预收率怎么算
  • 非独立核算分公司企业所得税
  • 采取简易计税外经证核销需要哪些资料?
  • 暂估入账估低了怎么办
  • 小规模纳税人开具1%增值税专用发票可以抵扣吗
  • 营改增后消费型增值税怎么算及举例说明
  • 可转债税前收益和税后收益
  • 公司收境外汇款
  • 免税销售额计入主营业务收入吗
  • 无法取得发票的费用如何入账
  • 怎么分配工业企业材料费用?
  • 公司有物业管理部门吗
  • 银行存款收款凭证属于什么凭证
  • 收入3000以下占比
  • urlerror什么意思
  • 房地产企业集团内部间的担保费可以税前扣除嚒
  • 现金流量套期的例子
  • 增值税价外费用是什么意思
  • Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
  • 同步和异步的关系
  • php怎么发布
  • uml中的顺序图由什么组成
  • javascript获取input的值并计算
  • php删除指定字符串
  • php接收ajax请求
  • php bind_result
  • web防盗链
  • vue前端模板网站
  • 语义分割用途
  • php 后端
  • 交通银行手机银行网页版
  • 增值税发票抵扣联和发票联
  • 发票违法行为的认定
  • 销售价格低于成本价,税务机关是否有权纳税调整?
  • 上传图片php
  • mockito mock方法
  • mysql嵌套语句
  • sql数据库存储过程怎么写
  • 开业请别人吃饭怎么说
  • 商业收入税收怎么收费
  • 企业结售汇业务需要做什么
  • 清卡后还可以勾选发票吗
  • 公司收到注册资本金需要做哪些呢
  • 购买房屋缴纳的契税可以退税政策
  • 企业所得税退税会计分录
  • 所得税预缴政策
  • 固定资产一次性扣除政策
  • 长期股权投资与其他权益工具投资的区别
  • 事业单位整体转让
  • 所得税费用如何计提分录
  • 贴现凭证如何做账务处理
  • 投标费用计入哪个科目
  • 运输公司的固定资产清单
  • 收到对公打款认证怎么入账
  • 银行总账和明细账
  • 房子贷款之后尾款发票
  • 会计信息不采集可以考初级吗
  • 应收账款坏账准备借贷方向
  • winxp搜索文件内容搜不出来
  • xp系统和2003系统的异同
  • 七喜r11c笔记本
  • mac怎么删除系统软件
  • centos安装scala
  • linux系统崩溃了怎么办
  • window8系统安装步骤
  • win10安装office2016无法注册字体可以忽略吗?
  • 微软将为11增加AI助手
  • win7系统安装软件乱码
  • bass表示什么
  • 如何用法向量求点到线的距离
  • linux shell 字符串转数字
  • Lesson02_05 头元素
  • JavaScript中的数据类型分哪为两大类?
  • jquery实战
  • 各种常用的js函数有哪些
  • python 控制台交互
  • 如何给税务局提供发票
  • 非税收入纳入一般公共预算管理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设