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

  • 不得税前扣除的贷款利息
  • 个人出租非住房房产税怎么计算
  • 购买汽车的印花税要计入汽车原值吗
  • 税收成本包括哪些
  • 个税app正式启用
  • 没有增值税专用发票开具证明
  • 减免增值税款怎么算
  • 计提固定资产折旧,车间使用的固定资产折旧1400
  • 社保计入管理费用还是成本
  • 出纳现金日记账表格模板
  • 外贸企业出出口退税会计科目怎么做账?
  • 电子版A4黑白发票可以抵税吗?
  • 金税盘使用说明
  • 月销售额不超10万,免征教育费附加分录
  • 国产设备购置投资由设备原价与什么构成
  • 年报弥补以前年度亏损了还需要填107040表吗
  • 以前的员工怎么交社保
  • 企业采购成本包括所有的仓储费用
  • ai自动生成代码
  • 教你从脸上看出风水
  • 合并报表同一控制下和非同一控制下区别
  • 餐饮的成本核算表格模板
  • 国产linux系统有哪些
  • 收到以前年度退税款的会计分录
  • 上月多计提的税金及附加怎么办
  • 仓储费计入存货成本吗
  • 公司不经营了不注销可以吗
  • 非合理损耗计入入账成本吗
  • 生产成本和库存商品的区别
  • react_router
  • 出资入股是什么意思
  • 宣传活动费用什么发票开?
  • is not defined at HTMLInputElement.onclick
  • 利用php将图片转为文字
  • 无形资产法
  • 小规模纳税人进口增值税怎么处理
  • erphpdown插件安装教程
  • 交易性金融资产包括哪些项目
  • 织梦模板官网
  • mysql写日志机制
  • MySQL的LEFT JOIN表连接的进阶学习教程
  • 单位上社保需要个人提供什么资料
  • 房租押金不退还的账务怎么处理
  • 九月份个人所得税的调整
  • 计提税金如何做凭证
  • 计提个税和缴纳个税金额不符的原因
  • 公司借个人款利息产生个人所得税公司可以承担吗
  • 法定公益金和法定保险金
  • 固定资产折旧会计凭证
  • 汇算清缴费用调减
  • 去年的成本发票做错了需要补税吗
  • 怎么冲减多计提的工会经费
  • 借款合同需要交印花税吗
  • 年底本年利润结转错了怎么调
  • 企业垫付是什么意思
  • 商业汇票的票样
  • 长期合同价格怎么定
  • 什么是累计预扣预缴应纳税所得额
  • 因进出口商品引起的收支
  • 开发票时如何添加商品编码?
  • 主营业务收入包括哪些内容
  • 固定资产处置当月还要折旧吗
  • Linux下安装mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
  • win8 itunes
  • 如何将苹果手机复制
  • xp系统的启动快捷键
  • windows临时文件在哪里
  • linux系统ln命令
  • win7应用程序没反应
  • win7升级win10系统要多久
  • ExtJS PropertyGrid中使用Combobox选择值问题
  • android canvas scale
  • a*算法的优缺点
  • 仿真安卓
  • regedit.exe
  • python中如何去除空格
  • python爬取某人所有朋友圈
  • 广州市税务局长
  • 增值税已申报但是忘清卡
  • 地税申报网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设