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

yipeiwu_com5年前PHP代码库

本文实例讲述了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安全过滤技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

深入eAccelerator与memcached的区别详解

eAccelerator和memcached,是目前较为主流的两个可使用在PHP之中的缓存加速工具.eAccelerator专门为PHP开发,而memcached不仅仅用在PHP之中,其...

php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系

krsort()定义和用法 krsort() 函数将数组按照键逆向排序,为数组值保留原来的键。 可选的第二个参数包含附加的排序标志。 若成功,则返回 TRUE,否则返回 FALSE。 语...

PHP实现的大文件切割与合并功能示例

本文实例讲述了PHP实现的大文件切割与合并功能。分享给大家供大家参考,具体如下: 分割代码 split.php <?php $i = 0;...

php使用session二维数组实例

本文实例讲述了php使用session二维数组的用法。分享给大家供大家参考。具体如下: 最普通的用法:一个变量名 复制代码 代码如下:$_SESSION['user'] = 0; ech...

PHP 面向对象改进后的一点说明第1/2页

先看代码: 复制代码 代码如下:<?php class StrictCoordinateClass { private $arr = array('x' => NU...