Package nablarch.common.web.csrf
Class CsrfTokenUtil
java.lang.Object
nablarch.common.web.csrf.CsrfTokenUtil
CSRFトークンに関するユーティリティ。
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
getCsrfToken
(ExecutionContext context) CSRFトークンをセッションストアから取得する。static String
CSRFトークンをHTTPリクエストヘッダーへ設定する際に使用する名前を取得する。static String
CSRFトークンをHTTPリクエストパラメーターへ設定する際に使用する名前を取得する。static void
regenerateCsrfToken
(ExecutionContext context) CSRFトークンを再生成する。
-
Method Details
-
getCsrfToken
CSRFトークンをセッションストアから取得する。- Parameters:
context
- 実行コンテキスト- Returns:
- CSRFトークン。セッションストアに存在しない場合は
null
-
getHeaderName
CSRFトークンをHTTPリクエストヘッダーへ設定する際に使用する名前を取得する。- Returns:
- CSRFトークンをHTTPリクエストヘッダーへ設定する際に使用する名前
-
getParameterName
CSRFトークンをHTTPリクエストパラメーターへ設定する際に使用する名前を取得する。- Returns:
- CSRFトークンをHTTPリクエストパラメーターへ設定する際に使用する名前
-
regenerateCsrfToken
CSRFトークンを再生成する。このメソッドはセキュリティのために用意されている。 悪意のある人がCSRFトークンとそれを保持しているセッションのセッションIDをなんらかの方法で利用者に送り込み、 利用者がこれに気づかずにログインをしたとする。 このときCSRFトークンが再生成されていないと、悪意のあるウェブサイトにCSRFトークンを仕込んだ罠ページを用意し、 利用者にリンクのクリックなどの操作をさせることで利用者の意図しない攻撃リクエストを送信させることができてしまう。 これを防ぐためにはログイン時にCSRFトークンを再生成しなくてはならない。
ログイン時にセッションを破棄して再生成する実装であればこのメソッドを利用する必要はない。 セッションの破棄と共にCSRFトークンも破棄され、その後のページ表示時に新しいCSRFトークンが生成されるためである。 ログイン時にセッションそのものの破棄ではなくセッションIDの再生成を行うにとどめる実装の場合は、 このメソッドを利用してCSRFトークンも再生成することを推奨する。
- Parameters:
context
- 実行コンテキスト
-