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在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
Aug 03 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
Win7 64位系统下PHP连接Oracle数据库
Aug 20 PHP
PHP 接入微信扫码支付总结(总结篇)
Nov 03 PHP
php基于dom实现的图书xml格式数据示例
Feb 03 PHP
php利用imagemagick实现复古老照片效果实例
Feb 16 PHP
php的常量和变量实例详解
Jun 27 PHP
Laravel 前端资源配置教程
Oct 18 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
Oct 21 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 PHP
PHP7变量处理机制修改
Mar 09 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 如何获取二维数组中某个key的集合
2014/06/03 PHP
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
2013/03/04 Javascript
理解javascript回调函数
2014/12/28 Javascript
javascript属性访问表达式用法分析
2015/04/25 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
理解javascript中的闭包
2017/01/11 Javascript
js面向对象编程总结
2017/02/16 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
解决vue 按钮多次点击重复提交数据问题
2018/05/10 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
详解Python中for循环的使用
2015/04/14 Python
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
python中logging包的使用总结
2018/02/28 Python
python 字典中取值的两种方法小结
2018/08/02 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
2019/08/09 Python
如何利用python给图片添加半透明水印
2019/09/06 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
python如何修改文件时间属性
2021/02/05 Python
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
师范大学应届生求职信
2013/11/21 职场文书
酒吧总经理岗位职责
2013/12/10 职场文书
优秀老师事迹材料
2014/02/05 职场文书
活动策划邀请函
2014/02/06 职场文书
社区活动总结报告
2014/05/05 职场文书
党务公开方案
2014/05/06 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
继续教育心得体会(共6篇)
2016/01/19 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android