LaravelでJavaScriptからPostするにはCSRFトークンが必要

シェアする

  • このエントリーをはてなブックマークに追加

LaravelでJavaScriptからポストした際に出たエラーの整理です。

 

image

 

スポンサードリンク

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

以下のエラーが出たときは、CSRFトークンが付いていないことが原因です。

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

 

image

 

 

Cross Site Request Forgery protection = クロスサイトリクエストフォージャリ

クロスサイトリクエストフォージェリ(Cross site request forgeries、略記:CSRF、またはXSRF)は、WWW における攻撃手法のひとつである。 具体的な被害としては、掲示板に意図しない書き込みをさせられたり、オンラインショップで買い物をさせられたりするなどが挙げられる。

 

Laravelのログ、laravel.logには以下のように出力されています。

 

対策として以下のようにします。

 

 

ポイントはこれです。

beforeSend: function (xhr) {
return xhr.setRequestHeader('X-CSRF-TOKEN', "{{csrf_token()}}");
},

スポンサードリンク

Failed to load resource: the server responded with a status of 422 (Unprocessable Entity)

以下のエラーが出たときは、Request validationに引っかかっているようです。

Failed to load resource: the server responded with a status of 422 (Unprocessable Entity)

 

image

 

Laravelのホームディレクトリから

app\Http\Requests

にクラスから、rules()を確認します。

 

エラーが出れば、常にログを確認する。

 

最後まで読んでいただきありがとうござました。
この記事が気に入っていただけたらシェアしてくれると嬉しいです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です