この記事では、Laravelで419エラーが出た場合の対処法について紹介します。
そもそも419エラーってどんなエラー?
419エラーは実はHTTPステータスコードに記載のないエラーコードなので、定義されていないステータスコードになります。
419エラーの原因は?
419エラーが定義されていないステータスなら、原因わからんやん・・・。
と思うかもしれませんが、大丈夫です!
LaravelではCSRF対策としてCSRFトークンを使用することができますが、これを使用していない場合に419エラーが出るようになっています。
なので、CSRF対策の仕組みを使えば解決です。
参考
クロスサイトリクエストフォージェリ(CSRF)とはTREND MICRO
CSRFトークンを使用するには
CSRF対策と聞くと、難しいように聞こえるかもしれませんが、超簡単です。
Laravelではform内に「 @csrf 」と書くだけでおしまいです!
<form action="/login" method="post">
//csrf対策
@csrf
<input type='text' name="name" value="{{ old('name') }}">
<input type='password' name="password" value="{{ old('password') }}">
<input type='submit' value="ログイン">
</form>
これで、419エラーが解消されます。
注意
Laravelのバージョンが5.5以前の場合、「@csrf」ではなく「 {{ csrf_field() }} 」と書きます。
なので、formを使う場合は「@csrf」をおまじないとして書くこと忘れないようにしましょう。
おすすめのLaravelの書籍
created by Rinker
¥6,321
(2024/11/21 11:12:15時点 Amazon調べ-詳細)
(2024/11/21 11:12:15時点 Amazon調べ-詳細)