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 冒泡排序 交换排序法

复制代码 代码如下: $a=array('11','2','13','4','22'); $num = count($a); for($i=0;$i<$num;$i++){ for...

PHP构造函数与析构函数用法示例

本文实例讲述了PHP构造函数与析构函数用法。分享给大家供大家参考,具体如下: 在实例化一个新对象时,构造方法和析构方法都会被自动调用,若有继承则会使用父类的对应方法。 析构方法在三种情况...

php session劫持和防范的方法

session 数据暴露会话数据常会包含一些个人信息和其它敏感数据。基于这个原因,会话数据的暴露是被普遍关心的问题。一般来说,暴露的范围不会很大,因为会话数据是保存在服务器环境中的,而不...

PHP封装的HttpClient类用法实例

本文实例讲述了PHP封装的HttpClient类。分享给大家供大家参考。具体分析如下: 这是一段php封装的HttpClient类,可实现GET POST Cookie Session等...

浅析PHP中Collection 类的设计

用.net开发已经很多年了,最近接触到php,发现php也很好玩。不过发现它里面没有集合Collection类,只有数组,并且数组很强。这里我用数组来包装成一个集合Collection,...