Token はトークンであり、その最大の特徴はランダム性と予測不可能性です。 一般のハッカーやソフトウェアには推測できません。
それでは、トークンの役割は何でしょうか?原理は何ですか?
トークンは通常、フォームの繰り返し送信と csrf 攻撃 (クロスサイト リクエスト フォージェリ) を防ぐための 2 つの場所で使用されます。
リクエスト 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);
サーバー側の検証トークン
<?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でトークンを検証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。