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 を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。