LoginSignup
4
4

More than 5 years have passed since last update.

Pray FrameworkのCSRFフィルタ

Posted at

Play(Java)のCSRFフィルタ適用。

環境

  • Play Framework 2.2.1
  • JDK 7u45

依存関係の追加

$APP_ROOT/build.sbtに依存関係を追加。

build.sbt
libraryDependencies ++= Seq(
  // snip
  filters, // 追加
  // snip
)

CSRFフィルタ

app/Global.javaにフィルタを定義。
(Global.javaはデフォルトでは存在しない)

app/Global.java
import play.*;
import play.api.mvc.EssentialFilter;
import play.filters.csrf.CSRFFilter;

public class Global extends GlobalSettings {
  // snip

  @Override
  @SuppressWarnings({"rawtypes", "unchecked"})
  public <T extends EssentialFilter> Class<T>[] filters() {
    return new Class[]{CSRFFilter.class};
  }
}

適用

フォーム生成に適用。

app/views/login.scala.html
@helper.form(action = helper.CSRF(routes.Sessions.createSession)) {}

Tokenが付与される。

<form action="/createSession?csrfToken=965b90f298a5bc76f397e6d1d384024c68e19973-1387604063062-6912d86536eaab2a8fe1abc8" method="POST" >
4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4