Laravel使ってみた (12) - LaravelでCSRF -

2013-07-20T00:00:00+00:00 Laravel PHP

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な例外が発生する

Laravel使ってみた (13) - Forms & HTML - LocalBroadcastManager