PHP token验证生成原理实例分析


Posted in PHP onJune 05, 2019

本文实例讲述了PHP token验证生成原理。分享给大家供大家参考,具体如下:

<?php
/**
 * @Author: Ding Jianlong
 * @Date:  2019-03-20 00:38:01
 * @Last Modified by:  Ding Jianlong
 * @Last Modified time: 2019-03-22 17:50:59
 */
//生成发送请求的验证 token
//这里的key可以是包含用户信息的内容,不用用户+不同的权限
function makeToken($key){
 //100秒内有效,不变,时间根据实际需要调整。第三方登录授权15天。
 return $token = md5($key.sha1(substr(time(),3,7)));
}
//后台同理验证,
function checkToken($key,$token){
 $true = md5($key.sha1(substr(time(),3,7)));
 if($token == $true){
 return true;  //token正确
 }else{
 return false;
 }
}
$key = 'https://github.com/idjl/';
echo $t = makeToken($key);
var_dump(checkToken($key,'259521122'));
var_dump(checkToken($key,$t));
var_dump(checkToken($key,'259521122'));

运行结果:

e4ce1a6c66246eee048f11a540bf197ebool(false)
bool(true)
bool(false)

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP5/ZendEngine2的改进
Oct 09 PHP
php操作SVN版本服务器类代码
Nov 27 PHP
php在线代理转向代码
May 05 PHP
解析php curl_setopt 函数的相关应用及介绍
Jun 17 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
php foreach正序倒序输出示例代码
Jul 01 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
Oct 10 PHP
PHP入门教程之PHP操作MySQL的方法分析
Sep 11 PHP
PHP大神的十大优良习惯
Sep 14 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
May 12 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 PHP
PHP7中I/O模型内核剖析详解
Apr 14 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 #PHP
PHP 数组黑名单/白名单实例代码详解
Jun 04 #PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
Jun 03 #PHP
PHP使用CURL实现下载文件功能示例
Jun 03 #PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 #PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
Jun 03 #PHP
PHP从零开始打造自己的MVC框架之入口文件实现方法详解
Jun 03 #PHP
You might like
针对初学PHP者的疑难问答(2)
2006/10/09 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
基于vue-ssr服务端渲染入门详解
2018/01/08 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
微信上传视频文件提示(推荐)
2018/11/22 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
在Python中编写数据库模块的教程
2015/04/29 Python
MySQL最常见的操作语句小结
2015/05/07 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
基于python socketserver框架全面解析
2017/09/21 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
2019/05/29 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
Trench London官方网站:高级风衣和意大利皮夹克
2020/07/11 全球购物
MySQL面试题
2014/01/12 面试题
饭店服务员岗位职责
2015/02/09 职场文书
2015年学校管理工作总结
2015/07/20 职场文书
Pytorch 中net.train 和 net.eval的使用说明
2021/05/22 Python
Pandas加速代码之避免使用for循环
2021/05/30 Python