本文实例讲述了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程序设计有所帮助。