php自定义token及验证
2019-04-14 15:52
274 查看
生成token
//用户名、此时的时间戳,并将过期时间拼接在一起 $admin = $data['username']; //获取前台传来的用户账号 $time = time(); $end_time = time()+86400; $info = $admin. '.' .$time.'.'.$end_time;//设置token过期时间为一天 //根据以上信息信息生成签名(密钥为 siasqr) $signature = hash_hmac('md5',$info,'siasqr'); //最后将这两部分拼接起来,得到最终的Token字符串 $token = $info . '.' . $signature;
验证token
public function check_token($token) { /**** api传来的token ****/ if(!isset($token) || empty($token)) { $msg['code']='400'; $msg['msg']='非法请求'; return json_encode($msg,JSON_UNESCAPED_UNICODE); } //对比token $explode = explode('.',$token);//以.分割token为数组 if(!empty($explode[0]) && !empty($explode[1]) && !empty($explode[2]) && !empty($explode[3]) ) { $info = $explode[0].'.'.$explode[1].'.'.$explode[2];//信息部分 $true_signature = hash_hmac('md5',$info,'siasqr');//正确的签名 if(time() > $explode[2]) { $msg['code']='401'; $msg['msg']='Token已过期,请重新登录'; return json_encode($msg,JSON_UNESCAPED_UNICODE); } if ($true_signature == $explode[3]) { $msg['code']='200'; $msg['msg']='Token合法'; return json_encode($msg,JSON_UNESCAPED_UNICODE); } else { $msg['code']='400'; $msg['msg']='Token不合法'; return json_encode($msg,JSON_UNESCAPED_UNICODE); } } else { $msg['code']='400'; $msg['msg']='Token不合法'; return json_encode($msg,JSON_UNESCAPED_UNICODE); } }
相关文章推荐
- [PHP] - Laravel - CSRF token禁用方法与排除验证csrf_token的url设置
- php token使用与验证示例【测试可用】[原创]_php技巧_脚本之家
- [ZZ]SAE微信公众号PHP SDK, token一直验证失败
- php 表单提交字段验证 字段值验证 自定义方法
- PHP实现防止表单重复提交功能【基于token验证】
- 微信开发中验证 基本配置 的token验证 及自动回复代码(PHP)
- thinphp3.2 使用微信扩展类 token验证失败
- php版微信开发Token验证失败或请求URL超时问题的解决方法
- SAE微信公众号PHP SDK, token一直验证失败
- PHP_微信token验证,单图文,多图文等一般操作
- php微信2 获取自定义菜单中的access_token
- PHP实现防止表单重复提交功能【基于token验证】
- JWT生成JsonWebToken登录令牌并使用自定义过滤器验证(包含跨域设置)
- php token验证范例
- php 接口token生成验证
- 微信Token验证代码的实现 php
- jsp 微信公众平台 token验证(php、jsp)(转载)
- 基于PHP的微信公众平台开发(TOKEN验证,消息回复)
- 关于wechat-php-sdk token验证失败的解决
- php微信2 获取自定义菜单中的access_token