Class CsrfTokenUtil

java.lang.Object
nablarch.common.web.csrf.CsrfTokenUtil

@Published(tag="architect") public final class CsrfTokenUtil extends Object
CSRFトークンに関するユーティリティ。
  • Method Details

    • getCsrfToken

      public static String getCsrfToken(ExecutionContext context)
      CSRFトークンをセッションストアから取得する。
      Parameters:
      context - 実行コンテキスト
      Returns:
      CSRFトークン。セッションストアに存在しない場合はnull
    • getHeaderName

      public static String getHeaderName()
      CSRFトークンをHTTPリクエストヘッダーへ設定する際に使用する名前を取得する。
      Returns:
      CSRFトークンをHTTPリクエストヘッダーへ設定する際に使用する名前
    • getParameterName

      public static String getParameterName()
      CSRFトークンをHTTPリクエストパラメーターへ設定する際に使用する名前を取得する。
      Returns:
      CSRFトークンをHTTPリクエストパラメーターへ設定する際に使用する名前
    • regenerateCsrfToken

      public static void regenerateCsrfToken(ExecutionContext context)
      CSRFトークンを再生成する。

      このメソッドはセキュリティのために用意されている。 悪意のある人がCSRFトークンとそれを保持しているセッションのセッションIDをなんらかの方法で利用者に送り込み、 利用者がこれに気づかずにログインをしたとする。 このときCSRFトークンが再生成されていないと、悪意のあるウェブサイトにCSRFトークンを仕込んだ罠ページを用意し、 利用者にリンクのクリックなどの操作をさせることで利用者の意図しない攻撃リクエストを送信させることができてしまう。 これを防ぐためにはログイン時にCSRFトークンを再生成しなくてはならない。

      ログイン時にセッションを破棄して再生成する実装であればこのメソッドを利用する必要はない。 セッションの破棄と共にCSRFトークンも破棄され、その後のページ表示時に新しいCSRFトークンが生成されるためである。 ログイン時にセッションそのものの破棄ではなくセッションIDの再生成を行うにとどめる実装の場合は、 このメソッドを利用してCSRFトークンも再生成することを推奨する。

      Parameters:
      context - 実行コンテキスト