ホームページ > バックエンド開発 > PHPチュートリアル > LaravelでAjaxリクエスト経由でCSRFトークンを渡すにはどうすればよいですか?

LaravelでAjaxリクエスト経由でCSRFトークンを渡すにはどうすればよいですか?

WBOY
リリース: 2023-09-10 15:12:01
転載
1800 人が閲覧しました

CSRF は、クロスサイト リクエスト フォージェリの略です。 CSRF は、許可されていないユーザーが許可されたふりをして実行する悪意のあるアクティビティです。

Laravel は、アクティブなユーザーセッションごとに csrf トークンを生成することで、そのような悪意のあるアクティビティから保護します。トークンはユーザーのセッションに保存されます。セッションが変更されると常に再生成されるため、承認されたユーザーがタスクを実行していることを確認するためにセッションごとにトークンが検証されます。以下は csrf_token へのアクセス例です。

csrf トークンの生成

トークンは 2 つの方法で取得できます。

  • $requestsession()token()

  • を使用する
  • csrf_token() メソッドを直接使用する

###例### リーリー ###出力###

上記の出力は -

です リーリー

ブレード テンプレートの CSRF トークン

HTML フォームで POST、PUT、PATCH、DELETE を使用する必要がある場合は、必ず csrf トークンを HTML フォームの隠しフィールドとして使用してください。これにより、行われたリクエストが CSRF ミドルウェア保護によって確実に保護されます。

ブレード テンプレートでは、@csrf ディレクティブを使用して、以下に示すように後で非表示フィールドとして保存できる csrf トークンの生成に役立ちます -

###例### リーリー

hello.blade.php

リーリー

Ajax リクエストでの csrf トークンの使用

ここでは Ajax リクエストが使用され、csrf トークンが渡されます。 Ajax での csrf トークンの使用。以下のように HTML の head セクションに csrf トークンを追加する必要があります -

リーリー LaravelでAjaxリクエスト経由でCSRFトークンを渡すにはどうすればよいですか?#$

.ajaxSetup() と

$

.ajax を使用して ajax 呼び出しを行うため、HTML に jquery ファイルを含めます。

リーリー

後で、以下に示すヘッダーを使用して ajaxsetup を呼び出します -

リーリー 次に、以下に示すように ajax 呼び出しを実行します - リーリー ajaxtest.blade.php の完全なコードは - です。 リーリー

AjaxCSRFController.php

リーリー

routes/web.phpでCSRFテスト用のルートを作成します

リーリー

ここでブラウザで URL をクリックします:

http://localhost:8000/ajaxtest

次の出力が表示されます-

以上がLaravelでAjaxリクエスト経由でCSRFトークンを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート