1. トークン認証メカニズム。ユーザーがユーザー名とパスワードを使用してログインすると、サーバーはトークンをクライアントに返します。
2. タイムスタンプ タイムアウト メカニズム。各ユーザー要求は現在のタイムスタンプ タイムスタンプをもたらします。
サーバーはタイムスタンプを受信した後、それを現在時刻と比較し、時間差が一定時間 (たとえば、5 分) を超える場合、リクエストは無効であると見なされます。タイムスタンプ タイムアウト メカニズムは、DOS 攻撃を防御する効果的な手段です。
3. 署名メカニズム。
他のリクエスト パラメーターをトークンとタイムスタンプに追加し、MD5 または SHA-1 アルゴリズムで暗号化します。
例
/** * @desc パラメータ処理を受け入れます */ プライベート関数 dealParam(){ // ヘッダー パラメーター -- システム パラメーターを受け入れる $systemParam=getAllHeadersParam(); //本文データを受け入れる - ビジネスパラメータ(json形式) $data=file_get_contents('php://input'); //設定ファイル内の秘密鍵情報を読み取る $api_apiKey=C('api_apiKey'); $privatekey=$api_apiKey[$systemParam['token']]; $arr['token'] =$systemParam['token']; //サーバーによって割り当てられた識別子 (異なるクライアントは異なる識別子を使用する必要があります) $arr['timestamp']=$systemParam['timestamp']; //北京時間の東第 8 区 (+8) に基づくタイムスタンプ、UTC 時間 $arr['version'] =$systemParam['version' ] ; // バージョン番号 $arr['sign'] =$systemParam['sign']; // 署名 $arr['source'] =$systemParam['source']; IOS/2-H5/3-PC/4-php/5-java) $arr['data'] =json_decode($data,true); // ビジネスパラメータ json 形式 $arr['method'] =$data['method']; // アクセスインターフェイス、形式: モデル名.メソッド名 $arr を返します。 }
以上が PHP インターフェースのセキュリティの 3 つのメカニズムです。皆さんの参考になれば幸いです。その他の PHP 学習ガイド: ソースコードネットワーク