位置: 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网络设置在哪里
  • 坏账会计处理方法
  • 待认证进项税额借方余额表示什么
  • 交易性金融资产是什么意思
  • php输出mysql查询结果
  • 在win7系统中安装win10
  • 长期债券投资减少是计入贷方吗?
  • 年终双薪是底薪吗
  • 悬崖边上的门
  • 差旅费的会计分录怎么做
  • 个体户对公账户的钱怎么取出来
  • 坏账准备的借贷方向表示什么意思
  • linux如何搭建
  • 即征即退增值税怎么申报
  • php-xml
  • phpstudy目录
  • uniapp官方教程
  • js如何把字符串转换成数字
  • javascript怎么用
  • nodejs官方文档
  • 用友u8删除凭证的步骤
  • 固定资产清理会议记录范文
  • 金税盘开票如何增加商品编码
  • 对公账号可以绑定微信提现吗
  • 垫付应收款怎么做会计分录
  • 工伤医疗费必须要交吗
  • 外经证是啥样
  • 养老院筹开计划
  • 小规模纳税人转让土地使用权税率
  • 企业补缴税款如何申报
  • 建筑施工仪器设备有哪些
  • mysql中where的用法
  • 先预付货款,货到了怎么做账
  • 社保都有哪几项
  • 清算期间发生的利息支出应计入
  • 发票上有银行流水号吗
  • 选用劳务派遣人员
  • 购入土地使用权用于建造厂房分录
  • 事业单位职工福利费
  • 技术服务收入如何纳税
  • 企业接受非货币性资产投资的入账金额
  • 会计凭证的审核的注意事项有哪些
  • sql server数据库怎么导出
  • win1909版本
  • windows xp的安装
  • linux删除大量文件方法
  • linux常见压缩工具
  • nmeo.exe是什么
  • cocos2dx怎么读
  • cocos2dx怎么用啊
  • Node.js中的construct
  • nodejs基础知识
  • Vue-Access-Control 前端用户权限控制解决方案
  • nodejs读取文件夹下的所有文件
  • 安卓怎样从旧手机把联系人导入新手机
  • 国家税务局文件查询
  • 小规模纳税人购买车辆如何入账
  • 消费税是由消费者完全负担的税种
  • 金三申报系统里面怎么申报社保?
  • 2021北京餐饮业发展趋势报告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设