2018/10/12

LaravelではデフォルトでCSRF対策がついています。
今回はLaravelにおけるCSRF対策についてみていきます。
CSRFとは
CSRFとはクロスサイトリクエストフォージェリの略で(シーサーフ)と呼びます。
Webアプリケーションの脆弱性をついた攻撃手法です。
2012年に起きたパソコン遠隔操作事件では、このCSRFの攻撃手法が使われました。
Laravel5.2ではフォーム作成時にCSRF対策を施さなければエラーになります。
なのでフォームや認証画面を作る際は必ずCSRF対策をしなければなりません。
Laravel5.2におけるCSRF対策
HTMLのフォームにトークンを埋め込みます。
Bladeだと以下のような記述になります。
<form method="POST" action="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
HTMLヘルパーを使うなら以下のようになります。
<form method="POST" action="post">
{{ csrf_field() }}
</form>
CSRF対策については以上です。
仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。