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 相关文章推荐
论坛头像随机变换代码
Oct 09 PHP
解析coreseek for sphinx的使用
Jun 21 PHP
phpstrom使用xdebug配置方法
Dec 17 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
codeigniter中测试通过的分页类示例
Apr 17 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 PHP
PHP快速生成各种信息提示框的方法
Feb 03 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
Jun 07 PHP
php获取'/'传参的值简单方法
Jul 13 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
Oct 23 PHP
PHP单例模式模拟Java Bean实现方法示例
Dec 07 PHP
50个优秀经典PHP算法大集合 附源码
Aug 26 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
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
2011/03/25 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
解决使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js问题
2018/08/30 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
vue debug 二种方法
2018/09/16 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
判断js数据类型的函数实例详解
2019/05/23 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
js实现录音上传功能
2019/11/22 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
浅谈python内置变量-reversed(seq)
2017/06/21 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
python pandas修改列属性的方法详解
2018/06/09 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
scrapy中如何设置应用cookies的方法(3种)
2020/09/22 Python
Pycharm安装python库的方法
2020/11/24 Python
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
Linux内核产生并发的原因
2016/11/08 面试题
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
医院门卫岗位职责
2013/12/30 职场文书
2014年高三毕业生自我评价
2014/01/11 职场文书
中式餐厅创业计划书范文
2014/01/23 职场文书
老乡聚会通知
2015/04/23 职场文书
合理化建议书范文
2015/09/14 职场文书
高考升学宴主持词
2019/06/21 职场文书
Python Django 后台管理之后台模型属性详解
2021/04/25 Python
html5调用摄像头截图功能
2022/01/18 Javascript