Laravel使ってみた (12) - LaravelでCSRF -
http://laravel.com/docs/security のセクションリンクは無いけど「CSRF Protection」セクションに書いてある通り、csrfのフィルターを利用する事でCSRFなプロテクションを利用する事が出来るっぽい。app/filters.phpにはデフォルトでCSRFなフィルターが定義されている。
で通常
{% raw %}
{{ Form::open(array("route" => "home.store")) }}
{{ Form::submit("save") }}
{{ Form::close() }}
{% endraw %}
的な事をやると自動で_tokenで定義されるけど。{% raw %}{{ Form::token() }}{% endraw %}を使って自分で埋め込む事も出来る模様。ちなみにbladeでPHP構文なビューを使う際にはcsrf_tokenっていう関数を使ってCSRFトークンを取得できる模様。コントローラーとかで取る場合にはSession::tokenメソッドを使う模様。もしCSRFプロテクションがエラーを起こした場合にはIlluminate\Session\TokenMismatchExceptionな例外が発生する