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初学者头疼问题总结
Jul 08 PHP
oracle资料库函式库
Oct 09 PHP
用PHP写的MySQL数据库用户认证系统代码
Mar 22 PHP
PHP调用Webservice实例代码
Jul 29 PHP
openflashchart 2.0 简单案例php版
May 21 PHP
php过滤html标记属性类用法实例
Sep 23 PHP
PHP获取POST数据的几种方法汇总
Mar 03 PHP
php从csv文件读取数据并输出到网页的方法
Mar 14 PHP
Zend Framework教程之Zend_Registry对象用法分析
Mar 22 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
May 18 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
Aug 12 PHP
php PDO异常处理详解
Nov 20 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 ob_start()控制浏览器cache、生成html实现代码
2010/02/16 PHP
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
python实现字符串连接的三种方法及其效率、适用场景详解
2017/01/13 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
Python编程之基于概率论的分类方法:朴素贝叶斯
2017/11/11 Python
python数据封装json格式数据
2018/03/04 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
浅谈python requests 的put, post 请求参数的问题
2019/01/02 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
Python分类测试代码实例汇总
2020/07/23 Python
python爬虫爬取网页数据并解析数据
2020/09/18 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
python sleep和wait对比总结
2021/02/03 Python
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
struct与class的区别
2014/02/03 面试题
2014年党员公开承诺践诺书
2014/03/25 职场文书
行政专员求职信范文
2014/05/03 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书
中学图书馆工作总结
2015/08/11 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python
Oracle 多表查询基本语法实例
2022/04/18 Oracle
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript