PHP によるトークン検証の実装方法
最初にトークンを解析し、解析された情報部分に基づいて有効期限が切れているかどうかを検証します。有効期限が切れていない場合、解析された情報部分が暗号化され、最後に暗号化されたデータと解析された署名が比較され、それらが同じであれば検証は成功します。
サンプルコード:
<?php 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 チュートリアル 」
以上がPHPでトークン検証を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。