ホームページ PHPフレームワーク Laravel ミドルウェアを使用して Laravel でクロスオリジン リソース共有 (CORS) を実装する方法

ミドルウェアを使用して Laravel でクロスオリジン リソース共有 (CORS) を実装する方法

Nov 02, 2023 pm 01:57 PM
クロスドメインリクエストの処理 ララベルミドルウェア クロスドメインリソース共有 (cors)

ミドルウェアを使用して Laravel でクロスオリジン リソース共有 (CORS) を実装する方法

ミドルウェアを使用して Laravel でクロスドメイン リソース共有 (CORS) を実装する方法

概要:

クロスドメイン リソース共有 (CORS) Web アプリケーションが異なるドメイン名でリソースを共有できるようにするブラウザ メカニズムです。人気の PHP フレームワークである Laravel は、クロスドメイン要求を処理するミドルウェアを使用して CORS を処理する便利な方法を提供します。

この記事では、ミドルウェアを使用して Laravel で CORS を実装する方法を紹介します。これには、ミドルウェアの構成方法、許可されるドメイン名とリクエスト メソッドの設定方法、および具体的なコード例が含まれます。

ステップ 1: CORS ミドルウェアの作成

まず、CORS を処理するミドルウェアを作成する必要があります。ターミナルで次のコマンドを使用して、新しいミドルウェア ファイルを生成します:

php Artisan make:middleware CorsMiddleware

このコマンドは、app/Http/Middleware ディレクトリにあります。 CorsMiddleware.php という名前のファイルを生成します。

CorsMiddleware.php ファイルを開き、handle メソッドを次のように変更します。

public function handle($request, Closure $next)
{
    $response = $next($request);
    
    $response->header('Access-Control-Allow-Origin', '*');
    $response->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    $response->header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
    
    return $response;
}
ログイン後にコピー

このミドルウェアでは、3 つの応答ヘッダーを設定します。 Access-Control-Allow-OriginAccess-Control-Allow-Methods、および Access-Control-Allow-Headers です。 Access-Control-Allow-Origin すべてのソースからのクロスドメイン アクセスを許可します。また、必要に応じて特定のドメイン名を設定することもできます。 Access-Control-Allow-Methods許可されるリクエスト メソッドを定義します。ここでは、共通の GET、POST、PUT、DELETE、および OPTIONS を設定します。 Access-Control-Allow-Headers許可されるリクエスト ヘッダーには、Content-Type と Authorization が含まれます。

ステップ 2: CORS ミドルウェアを登録する

app/Http/Kernel.php ファイルを開き、$middleware 配列を見つけて追加します。次のコード行を配列に追加します。

protected $middleware = [
    // ...
    AppHttpMiddlewareCorsMiddleware::class,
];
ログイン後にコピー

上記のコードは、CorsMiddleware ミドルウェアをグローバル ミドルウェア スタックに追加して、すべてのリクエストに適用できるようにします。

ステップ 3: CORS ミドルウェアを使用する

CORS ミドルウェアが有効かどうかを確認するために、API ルートで使用できます。 routes/api.php ファイルに GET ルートを追加し、このルートに CorsMiddlewaremiddleware を使用します:

Route::get('/test', function () {
    return response()->json(['message' => 'Hello World']);
})->middleware('cors');
ログイン後にコピー

このルートは、「Hello World」を含むメッセージを返します。 " メッセージの JSON 応答。

ステップ 4: CORS 設定を確認する

これで、ブラウザーや REST クライアントなど、クロスドメイン アクセスをサポートする任意のクライアントを検証に使用できるようになります。ブラウザの開発ツールでは、応答ヘッダー情報を確認できます。

たとえば、Chrome ブラウザで開発者ツールを開き、[ネットワーク] タブに切り替えて、ステップ 3 で定義したルート /api/test にアクセスします。応答ヘッダーには、Access-Control-Allow-OriginAccess-Control-Allow-Methods、および Access-Control-Allow-Headers が表示されます。設定。

すべてが正常であれば、異なるドメイン名から HTTP リクエストを送信し、応答を正常に取得できるはずです。

結論:

Laravel フレームワークは、ミドルウェアを使用することで、クロスドメインのリソース共有を実現する簡単な方法を提供します。この記事では、CORS ミドルウェアの作成、ミドルウェアの登録、ミドルウェアを使用してクロスドメイン要求を処理する方法について詳しく説明します。この記事が Laravel で CORS を実装するのに役立ち、参考となる十分なコード例が提供されることを願っています。

以上がミドルウェアを使用して Laravel でクロスオリジン リソース共有 (CORS) を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Laravelでミドルウェアを使用して例外を処理する方法 Laravelでミドルウェアを使用して例外を処理する方法 Nov 04, 2023 pm 02:26 PM

Laravel でミドルウェアを使用して例外を処理する方法 ミドルウェアは Laravel フレームワークの重要な概念であり、リクエストがコントローラーに到達する前後に一連の操作を実行できます。一般的な権限の検証、ロギング、その他の機能に加えて、ミドルウェアを使用して例外を処理することもできます。この記事では、ミドルウェアを使用してLaravelで例外を処理する方法を検討し、具体的なコード例を示します。まず、例外処理ミドルウェアを作成する必要があります。次のコマンドを実行してミドルウェア クラスを生成できます。

Nginx クロスオリジン リソース共有 (CORS) 構成を実装する方法 Nginx クロスオリジン リソース共有 (CORS) 構成を実装する方法 Nov 08, 2023 pm 12:22 PM

Nginx のクロスドメイン リソース共有 (CORS) 構成を実装する方法には、特定のコード サンプルが必要です。フロントエンドとバックエンドの分離開発の人気に伴い、クロスドメイン リソース共有 (CORS) の問題は共通の課題となっています。 Web 開発では、ブラウザーの同一オリジン ポリシー制限により、クライアント側の JavaScript コードは、そのコードが配置されているページと同じドメイン名、プロトコル、およびポートを持つリソースのみを要求できます。ただし、実際の開発では、異なるドメイン名または異なるサブドメインからリソースをリクエストする必要があることがよくあります。このとき、COを使用する必要があります

Go言語フレームワークでのクロスドメインリクエスト処理 Go言語フレームワークでのクロスドメインリクエスト処理 Jun 03, 2023 am 08:32 AM

Web 開発では、クロスドメイン リクエストが一般的な要件です。 Web サイトが別のドメインからデータを取得する必要がある場合、または API インターフェイスを呼び出す必要がある場合は、クロスドメイン リクエストを使用する必要があります。ただし、Web サイトのセキュリティを確保するために、ブラウザはそのようなリクエストをブロックし、クロスドメイン リクエストが失敗する原因となります。この問題を解決するには、いくつかの技術的手段を使用してクロスドメインリクエストを処理する必要があります。この記事では、Go言語フレームワークにおけるクロスドメインリクエストの処理方法を紹介します。クロスドメインリクエストとは何ですか? Web 開発では、同じドメイン名の下にあるフロントエンド ページは、

Laravelでデータエクスポート用のミドルウェアを使用する方法 Laravelでデータエクスポート用のミドルウェアを使用する方法 Nov 02, 2023 am 08:29 AM

Laravel は、高性能でスケーラブルで保守が容易な Web アプリケーションを開発するための多くの便利な機能を提供する、人気のある PHP Web アプリケーション フレームワークです。重要な機能の 1 つはミドルウェアであり、リクエストと応答の間で特定の操作を実行できます。この記事では、ミドルウェアを使用してデータを Excel ファイルにエクスポートする方法について説明します。 Laravel アプリケーションの作成 まず、Laravel アプリケーションを作成する必要があります。 coを使用できます

ThinkPHP6 クロスドメインリクエスト処理: フロントエンドとバックエンドの分離の問題を解決する ThinkPHP6 クロスドメインリクエスト処理: フロントエンドとバックエンドの分離の問題を解決する Aug 13, 2023 am 09:10 AM

ThinkPHP6 クロスドメイン要求処理: フロントエンドとバックエンドの分離の問題の解決 インターネット アプリケーションの継続的な開発に伴い、フロントエンドとバックエンドの分離の開発モデルがますます一般的になってきています。 ThinkPHP6 フレームワークを使用してフロントエンドとバックエンドを分離するアプリケーションを開発する場合、クロスドメイン要求が一般的な問題になります。この記事では、ThinkPHP6 でクロスドメインリクエストを処理する方法と、対応するコード例を紹介します。 1. クロスドメイン リクエストとは何ですか? クロスドメイン リクエストとは、Web アプリケーションにおいて、フロントエンド コードが Ajax やその他の方法を介して異なるドメイン名またはポートのバックエンドに送信することを指します。

laravelミドルウェアは何に使われますか? laravelミドルウェアは何に使われますか? Apr 09, 2024 pm 05:03 PM

Laravel ミドルウェアは、1. 認証と認可、2. HTTP リクエストとレスポンスの処理、3. レスポンスのフィルタリング、4. ログ記録とモニタリング、5. アプリケーション動作のカスタマイズに使用されます。ミドルウェアを使用すると、開発者はルート コントローラーの外部にあるアプリケーションに機能と制約を簡単に追加できます。

LaravelでWeChatログイン認証用のミドルウェアを使用する方法 LaravelでWeChatログイン認証用のミドルウェアを使用する方法 Nov 03, 2023 am 10:55 AM

Laravel で WeChat ログイン認証用のミドルウェアを使用する方法 モバイル インターネットの急速な発展に伴い、サードパーティ ログインはユーザーが迅速に登録してログインできる一般的な方法になりました。その中でも、WeChat ログインは最も人気のあるものの 1 つです。開発者にとって、自分の Web サイトやアプリケーションでの認証に WeChat ログインを使用する方法は共通のニーズです。この記事では、Laravel フレームワークのミドルウェアを使用して WeChat のログイン認証機能を実装する方法と、具体的なコード例を紹介します。まず、Laravをダウンロードしてインストールする必要があります

Laravel ミドルウェア: データベースの移行とバージョン管理をアプリケーションに追加します。 Laravel ミドルウェア: データベースの移行とバージョン管理をアプリケーションに追加します。 Aug 02, 2023 am 10:17 AM

Laravel ミドルウェア: データベースの移行とバージョン管理をアプリケーションに追加する Web アプリケーションを開発および保守する場合、データベースの移行とバージョン管理は非常に重要なタスクです。これにより、データベースを手動で更新または再構築することなく、データベースの構造とデータを簡単に管理できるようになります。 Laravel フレームワークは強力かつ便利なデータベース移行機能とバージョン管理機能を提供しており、ミドルウェアを使用することでこれらの機能をアプリケーションに簡単に統合できます。まず、Lar を確認する必要があります。

See all articles