CSRF対策について

2018/10/12

mainvisual

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

>> Twitter をフォローする

 

-基礎知識