ポートセキュリティAPIの開発(III)----有効時間に署名

以前に符号を生成し、私たちは基本を持っている兆候を確認するが、唯一の私たちのニーズを満たすことができない、このような看板のおかげで、データの取り込みにより、ハッカーをキャッチした場合、彼はそのような身体のためにあなたのヘッダーを変更することができますそれは皆のために詳細に説明しますと、我々は小切手にサインすることにより解決することができる方法もあります

我々は唯一の10秒に署名​​し、彼が唯一のかそこらでその12秒に巻き込まれることができたとしても、我々はこのアイデアを持っているという場合、私はそれが最初に考慮しなければならないような問題を持って最初に考えた後、問題の適時のサインですそれはそれに参加する方法を具体的にそれを今回の署名生成する前に、時間パラメータを追加する必要がありますか?

私たちは、最初の私たちが署名するのに必要な時間を生成する時のクラスを確立します

<?PHP
 / * * 
 * PhpStormによって作成されます。
 *ユーザー:管理者
 *日:2019年8月16日
 *時間:10:20 
 * / 

名前空間のApp \共通\ libに; 

/ * ** 
 *タイムスタンプ付きのステッチ13を生成しますビット列
 *授業時間
 * @packageのApp \共通\ libに
 * / 
クラスの 時間
{ 
    公共の 静的な 機能get13TimeStamp(){
         リスト$ T1$ T2は)= 爆発(、 '' のmicrotimeを、そして()); 
      ##×1000人の増加一意性は、重複を避ける
        リターン の$ T2をはceil$ T1* 1000年); 
    } 
}

の符号を生成するときに私たちの時間に生成されたクラスを作成した後、我々は時間パラメータを追加する必要があります

'時間' => タイム :: get13TimeStamp()、

そして、符号を生成します

IAuth :: setSign($データ

パラメータが時間を追加した後リターンを生成した後、私たちは署名になります  

我々は、この記号を確認するために降りた後、

私たちはcheckSignPass関わる時間パラメータをチェックする私たちの方法を変更する必要があります

新判事

#1 #1000は、固有の乗算と除算の追加する
        IF((時間 - ()CEIL$のARR [ '時間'] / 1000))>設定( 'app.app_sign_time' )){
             リターン falseにします; 
        }

configが(「app.app_sign_time」)は、私の設定は、設定ファイルである場合

戻る[
     'AESKey' => 'asdasd4wq5646'、  AESキーサーバなければならないクライアント一貫した 
    'メソッド' => 'AES-128-ECB'、
    'IV' => ''、
    '=>」'オプション0」、
    '' => app_types [
         'IOSの'、
        'アンドロイド' 
    ]
    'app_sign_time' => 60 
]。

我々は成功した時に看板に追加されるように、その後、まだ我々のデータのセキュリティを保証することはできません、我々は持っている必要があり、その後どのように我々は次の章に進んでくださいより高いセキュリティレベル(独自性)ジョブのサインですNetvibesのサイン

おすすめ

転載: www.cnblogs.com/we-jack/p/11362466.html