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程序设计有所帮助。

相关文章

PHP单例模式简单用法示例

本文实例讲述了PHP单例模式用法。分享给大家供大家参考,具体如下: <?php class db { public $conn; public static $...

常用PHP数组排序函数归纳

常用PHP数组排序函数归纳

数组排序:数组中的元素能够以字母或数字顺序进行升序或降序排序。 常用的PHP数组排序函数  •sort() - 以升序对数组排序  •rso...

php中current、next与reset函数用法实例

本文实例讲述了php中current、next与reset函数用法。分享给大家供大家参考。 具体代码如下: 复制代码 代码如下:$array=array('step one','step...

PHP基于自定义函数生成笛卡尔积的方法示例

本文实例讲述了PHP基于自定义函数生成笛卡尔积的方法。分享给大家供大家参考,具体如下: <?php $color = array('red', 'green');...

PHP代码优化的53个细节

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:...