2016-11-01 2 views
2

ウェブサイトでJWTを使用することについて私が読んだことはすべて、それらがSPAsであることを暗示しているようです。JWTを非SPAウェブサイトに使用することができます

私のウェブサイトには多くの静的ページがありますが、ログインするユーザーも必要です.JWTを適切に使用していますか?

答えて

2

あなたは適切なものが意味するものによって異なります。

jwtを適切に生成してhttponlyで保存すると、保護されたクッキーが作成されます。これは、多くの点でプレーンな古いセッションIDと同じです(ただし、サーバ上では状態はありません。例えばリプレイのような、クライアント上に状態を記憶する)。

httponly cookie以外の方法で保存すると、セキュリティが低下します。アプリケーションの単一のxssによって、攻撃者はユーザートークンを盗むことができます。このリスクを受け入れるかどうかは、あなたに依存しますが、セキュリティ上重要なアプリケーションの場合は、十分ではない可能性があります。

つまり、jwtは、署名された(ただしデフォルトでは暗号化されていない)方法で、クライアントに物事を保存する方法です。ユーザーや攻撃者はコンテンツを簡単に変更することはできませんが、それは読んだり読んだり再生したりすることができます。

何らかのIDだけを格納すると、それはプレーンなセッションIDと違いはありませんその場合、それを使用する点はありません)。状態(セッションデータ)を保存すると、リプレイ攻撃のリスク、ユーザーがアプリケーションから署名鍵を見つけて自分自身のために署名することができるなど、自分自身に気を配らなければならない脆弱性が存在する可能性があります。あなたのJWT実装では、ユーザーはセッションの内容を見ることができます(jwtsは暗号化されていないので)。

関連する問題