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 相关文章推荐
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
解析PHP缓存函数的使用说明
May 10 PHP
ThinkPHP的I方法使用详解
Jun 18 PHP
PHP遍历文件夹与文件类及处理类用法实例
Sep 23 PHP
Yii入门教程之目录结构、入口文件及路由设置
Nov 25 PHP
PHP实现简单爬虫的方法
Jul 29 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
Mar 21 PHP
php字符串操作针对负值的判断分析
Jul 28 PHP
PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
Sep 11 PHP
PHP中Static(静态)关键字功能与用法实例分析
Apr 05 PHP
php创建多级目录与级联删除文件的方法示例
Sep 12 PHP
php实现session共享的实例方法
Sep 19 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后台的Android新闻浏览客户端
2016/05/23 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
Javascript 命名空间模式
2013/11/01 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
vue 中滚动条始终定位在底部的方法
2018/09/03 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
2019/04/11 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
python实现基于信息增益的决策树归纳
2018/12/18 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
python实现翻转棋游戏(othello)
2019/07/29 Python
基于YUV 数据格式详解及python实现方式
2019/12/09 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
python退出循环的方法
2020/06/18 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
实例讲解CSS3中Transform的perspective属性的用法
2016/04/22 HTML / CSS
美国奢侈品购物平台:Orchard Mile
2018/05/02 全球购物
测绘工程个人的自我评价
2013/11/10 职场文书
聘任通知书
2015/09/21 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers
vue+echarts实现多条折线图
2022/03/21 Vue.js
Linux中sftp常用命令整理
2022/06/28 Servers