2015-09-22 21 views

答えて

22

これは以下の状況で安全であることができる:

  1. JWTは、ワンタイム時間の使用のみ
  2. jtiexp特許請求の範囲は、受信機が正しく再生保護を実装するトークン
  3. で存在しますjtiexp

を使用していますが、繰り返すことができるトークンとして使用される場合例えば使用することができる。 APIに対してクエリパラメータとして供給することは、サーバーやクライアントシステムにアクセスできる他のユーザーが利用できるログやシステムプロセス情報になる可能性があるため、あまり好ましくありません。その場合、ヘッダーまたはPOSTパラメーターの一部として提示するほうがよいでしょう。

さらに、クエリパラメータでこれを使用すると、ブラウザやサーバーのURLサイズの制限に合わせて実行することができます。ヘッダーでそれを使用すると、POSTパラメーターが最もうまくいくので、それを使用してスペースを増やすことができます。

+2

また、訓練を受けていないユーザーは、トークンを含むURLをコピー&ペーストして、意図しないセッションのハイジャックにつながる可能性があります。 – Gray

+0

エンドポイントがRESTの場合は、GETメソッドを使用する必要があります。また、リクエストがダウンロードされる場合は、ajaxを使用することもできません。 –

+0

合理的に短い「exp」<2分はどうでしょうか? 2番目のリダイレクト( 'jwt'がアプリによって収集された後)? 2番目のリダイレクトは単にコピー&ペーストの問題を防ぐためです。あなたのブラウザが侵害された場合でも、ヘッダでさえ、あなたがトークンを盗まれるのを防ぐことはできません。 –

-2

URLに機密情報を含めないでください。 jwtを暗号化し、GETメソッドを使用してURLに含めることができます。ただし、ハッカーの中には機密情報が含まれていると問題を引き起こすものもあります。したがって、機密でない場合は、それを含めることができます。そうでなければ、POSTやセッションのような別の方法を使用します。

+22

Eh ...リクエストタイプはハッカーからの保護のために何もしません。なぜ彼らはあなたのGETリクエストを読むことができるでしょうが、POSTリクエストは読めませんか?彼らがあなたの接続をタップした場合、それは同じように見えます。 SSL/TLSの場合、クエリ文字列も保護されます。 – Gray

+2

ブラウザの履歴にクエリパラメータが表示されます。リモートの敵には見えませんが、セキュリティ上の弱点です。 – dnault

+0

偶発的なデータの流出に関連します。トークンをスクラップしてGoogleで配信していますそれでも、セキュリティのために、トークンは時間/使用に制限されている必要があります。 –

関連する問題