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中文網其他相關文章!