• 技术文章 >后端开发 >PHP问题

    php如何验证token

    (*-*)浩(*-*)浩2019-09-19 11:27:14原创3729
    Token,就是令牌,最大的特点就是随机性,不可预测。一般黑客或软件无法猜测出来。

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

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

    生成一个请求url(推荐学习:PHP编程从入门到精通

    <?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);

    服务器端验证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中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:php如何引用外部文件 下一篇:php如何统计数组中重复的值
    线上培训班

    相关文章推荐

    • php使用什么做数据采集• php跳转时404错误• php无法连接数据库• php无法解析

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网