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($ke<b style="color:transparent">来源gao@dai!ma.com搞$代^码网</b>y) . md5($param['time']) );;if ($server_token !== $param['token']) { exit('token错误');}echo '验证通过';// 其他业务逻辑// ...
以上就是php如何验证token的详细内容,更多请关注搞代码gaodaima其它相关文章!