-
LaravelでCSRFトークンを生成する: CSRFトークンを生成するには、LaravelのCSRFミドルウェアを使用します。通常、Laravelのルートファイルでこのミドルウェアがグローバルに有効になっています。CSRFトークンは、セッションに保存されます。
-
AjaxリクエストでCSRFトークンを取得する: Ajaxリクエストを送信する前に、CSRFトークンを取得してリクエストに含める必要があります。Laravelでは、
csrf_token()
関数を使用して現在のCSRFトークンを取得できます。
例えば、JavaScriptで以下のようにトークンを取得し、Ajaxリクエストに含めることができます:
var csrfToken = document.querySelector('meta[name="csrf-token"]').getAttribute('content');
// Ajaxリクエストの例
$.ajax({
url: '/example',
type: 'POST',
data: {
_token: csrfToken,
// その他のデータ
},
success: function(response) {
// 成功時の処理
},
error: function(xhr) {
// エラー時の処理
}
});
- LaravelでCSRFトークンを検証する:
Laravelでは、受信したAjaxリクエストのCSRFトークンを自動的に検証します。もしトークンが不正であれば、
TokenMismatchException
エラーが発生します。
以上の手順に従うと、LaravelでAjaxを使用してCSRFトークンを正しく送信できます。これにより、ウェブアプリケーションのセキュリティが向上し、クロスサイトリクエストフォージェリ攻撃から保護されます。