最新消息:愿得一人心,白首不分离。

PHP简单token样例

学习笔记 轮回的落日℡ 197浏览 0评论

Token,就是令牌,最大的特点就是随机性,不可预测。一般黑客或软件无法猜测出来。

那么,Token有什么作用?又是什么原理呢?

Token一般用在两个地方——防止表单重复提交、anti csrf攻击(跨站点请求伪造)。

生成一个请求url:

<?php
$key = 'key'; //秘钥 ,非常重要,不参与url传输、秘钥泄露将导致token验证失效
$data['time'] = time();
$data['data'] = 'data';
$data['token']= md5( md5($key) . md5($data['time']) );
// 拼接url
$url = 'domain.com/api.php?' . http_build_query($data);

秘钥生成:https://www.chenbo.info/tools/password/

服务器端验证token

<?php
$param = $_GET;
// 验证时间戳
if (!isset($param['time']) || intval($param['time']) <= 1) {
    exit('时间戳不正确');
}
// 设置每个token的过期时间为60秒
if (time() - intval($param['time']) > 60) {
    exit('请求超时');
}
// 验证token
 // 服務器端生成token
$key = 'key'; //秘钥
$time = time();
$server_token= md5( md5($key) . md5($param['time']) );;
if ($server_token !== $param['token']) {
    exit('token错误');
}
echo '验证通过';

// 其他业务逻辑
// ...

以上就是php如何验证token的详细内容

转载请注明:轮回阁 » PHP简单token样例

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址