Laravelの勉強をしている中で、POST通信をするときに「419エラー」が出ました。
原因と対策をメモ代わりにポストしておきます。
LaravelのPOST通信で419エラー
↑ こんなのが出ました。
419エラーとは
そもそも「419エラーって何なんだ?」ということで「HTTPステータス」を確認。
あれ? 419が無いぞ。
Wikipediaにも載っていないということで、Laravelの独自エラーコードなんだろう、ということにしておきました(苦笑)
419エラーの原因
POST通信の際のCSRF(クロスサイトリクエストフォージェリ)対策に失敗しているので出ているエラーで、恐らくほとんどの場合は「CSRFトークン」の記述もれが原因だと思われます。
実際に私が419エラーを出した際もCSRFトークンの書き忘れでした。
419エラーの対策
対策という大げさなことでもなく、「CSRFトークン」をフォーム内部へ書き込むだけです。
1 2 |
@csrf // ←★これ ... |
↑ @csrf と書くだけ。
※ Laravelのバージョンがが5.5以下の場合は {{ csrf_field() }} と記述します。
以上です。