Maison cadre php Laravel Comment utiliser un middleware pour implémenter le partage de ressources cross-origin (CORS) dans Laravel

Comment utiliser un middleware pour implémenter le partage de ressources cross-origin (CORS) dans Laravel

Nov 02, 2023 pm 01:57 PM
跨域请求处理 laravel中间件 Partage de ressources entre domaines (cors)

Comment utiliser un middleware pour implémenter le partage de ressources cross-origin (CORS) dans Laravel

Comment utiliser le middleware pour implémenter le partage de ressources Cross-Origin (CORS) dans Laravel

Présentation :

Le partage de ressources Cross-Origin (CORS) est un mécanisme de navigateur utilisé pour permettre aux applications Web de s'exécuter sur différents noms de domaine. Partager ressources ci-dessous. Laravel, un framework PHP populaire, fournit un moyen pratique de gérer CORS en utilisant un middleware pour gérer les requêtes inter-domaines.

Cet article vous expliquera comment utiliser le middleware pour implémenter CORS dans Laravel, notamment comment configurer le middleware, définir les noms de domaine et les méthodes de requête autorisés, et fournir des exemples de code spécifiques.

Étape 1 : Créer un middleware CORS

Tout d'abord, nous devons créer un middleware pour gérer CORS. Utilisez la commande suivante dans le terminal pour générer un nouveau fichier middleware :

php artisan make:middleware CorsMiddleware

Cette commande générera un fichier nommé dans le répertoire <code>app/Http/Middleware CorsMiddleware Fichier .php. 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;
}
Copier après la connexion

在这个中间件中,我们设置了三个响应头,分别是:Access-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-Allow-HeadersAccess-Control-Allow-Origin允许所有源进行跨域访问,您也可以根据需要设置特定的域名。Access-Control-Allow-Methods定义允许的请求方法,这里我们设置了常见的GET、POST、PUT、DELETE和OPTIONS。Access-Control-Allow-Headers允许的请求头中包含了Content-Type和Authorization。

步骤二:注册CORS中间件

打开app/Http/Kernel.php文件,找到$middleware数组,并在数组中添加以下行代码:

protected $middleware = [
    // ...
    AppHttpMiddlewareCorsMiddleware::class,
];
Copier après la connexion

以上代码将添加CorsMiddleware中间件到全局中间件堆栈中,以便它可以应用于每一个请求。

步骤三:使用CORS中间件

为了验证我们的CORS中间件是否有效,我们可以在一个API路由中使用它。在routes/api.php文件中,添加一个GET路由,并为该路由使用CorsMiddleware中间件:

Route::get('/test', function () {
    return response()->json(['message' => 'Hello World']);
})->middleware('cors');
Copier après la connexion

这个路由将返回一个包含"Hello World"消息的JSON响应。

步骤四:验证CORS设置

现在我们可以使用任何支持跨域访问的客户端,例如浏览器或REST客户端进行验证。在浏览器的开发工具中,我们可以看到响应的头部信息。

例如,在Chrome浏览器上,打开开发者工具,切换到"Network"选项卡,然后访问我们在步骤三中定义的路由/api/test。在响应头部信息中,我们应该看到Access-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-Allow-Headers

Ouvrez le fichier CorsMiddleware.php et modifiez la méthode handle comme suit :

rrreee

Dans ce middleware, nous définissons trois en-têtes de réponse, qui sont : Access -Control-Allow-Origin, Access-Control-Allow-Methods et Access-Control-Allow-Headers. Access-Control-Allow-Origin permet un accès inter-domaines à partir de toutes les sources, et vous pouvez également définir des noms de domaine spécifiques selon vos besoins. Access-Control-Allow-Methods définit les méthodes de requête autorisées. Ici, nous définissons les valeurs communes GET, POST, PUT, DELETE et OPTIONS. Les en-têtes de requête autorisés de Access-Control-Allow-Headers incluent Content-Type et Authorization.

Étape 2 : Enregistrez le middleware CORS

Ouvrez le fichier app/Http/Kernel.php, recherchez le tableau $middleware et ajoutez les lignes de code suivantes dans le array : 🎜 rrreee🎜Le code ci-dessus ajoutera le middleware CorsMiddleware à la pile middleware globale afin qu'il puisse être appliqué à chaque requête. 🎜🎜Étape 3 : Utiliser le middleware CORS 🎜🎜Pour vérifier si notre middleware CORS est valide, nous pouvons l'utiliser dans une route API. Dans le fichier routes/api.php, ajoutez une route GET et utilisez le middleware CorsMiddleware pour cette route : 🎜rrreee🎜Cette route renverra un message contenant "Hello World" La réponse JSON du message. 🎜🎜Étape 4 : Vérifiez les paramètres CORS🎜🎜Nous pouvons désormais utiliser n'importe quel client prenant en charge l'accès inter-domaines, tel qu'un navigateur ou un client REST pour la vérification. Dans les outils de développement du navigateur, nous pouvons voir les informations d'en-tête de réponse. 🎜🎜Par exemple, sur le navigateur Chrome, ouvrez les outils de développement, passez à l'onglet "Réseau", puis accédez à la route /api/test que nous avons définie à la troisième étape. Dans les en-têtes de réponse, nous devrions voir Access-Control-Allow-Origin, Access-Control-Allow-Methods et Access-Control-Allow-Headers code> paramètres. 🎜🎜Si tout va bien, vous devriez pouvoir envoyer des requêtes HTTP à partir de différents noms de domaine et obtenir des réponses avec succès. 🎜🎜Conclusion : 🎜🎜En utilisant un middleware, le framework Laravel fournit un moyen simple de réaliser un partage de ressources entre domaines. Cet article explique comment créer un middleware CORS, enregistrer un middleware et utiliser un middleware pour gérer les requêtes inter-domaines. J'espère que cet article pourra vous aider à implémenter CORS dans Laravel et fournira suffisamment d'exemples de code pour votre référence. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter la configuration de partage de ressources d'origine croisée (CORS) Nginx Comment implémenter la configuration de partage de ressources d'origine croisée (CORS) Nginx Nov 08, 2023 pm 12:22 PM

La façon de mettre en œuvre la configuration de partage de ressources inter-domaines (CORS) de Nginx nécessite des exemples de code spécifiques. Avec la popularité du développement de séparation front-end et back-end, les problèmes de partage de ressources inter-domaines (CORS) sont devenus un défi courant. Dans le développement Web, en raison des restrictions de la politique de même origine du navigateur, le code JavaScript côté client ne peut demander des ressources qu'avec le même nom de domaine, le même protocole et le même port que la page sur laquelle il se trouve. Cependant, dans le développement réel, nous devons souvent demander des ressources à différents noms de domaine ou sous-domaines. A ce moment, vous devez utiliser du CO

Traitement des requêtes inter-domaines dans le framework de langage Go Traitement des requêtes inter-domaines dans le framework de langage Go Jun 03, 2023 am 08:32 AM

Dans le développement Web, les requêtes inter-domaines sont une exigence courante. Si un site Web doit obtenir des données d'un autre domaine ou appeler une interface API, il doit utiliser des requêtes inter-domaines. Cependant, afin de garantir la sécurité du site Web, le navigateur bloquera ces requêtes, provoquant l'échec des requêtes inter-domaines. Afin de résoudre ce problème, nous devons utiliser certains moyens techniques pour traiter les requêtes inter-domaines. Dans cet article, nous présenterons la méthode de traitement des requêtes inter-domaines dans le framework du langage Go. Qu'est-ce qu'une requête inter-domaines ? Dans le développement Web, les pages frontales sous le même nom de domaine peuvent

Comment gérer les exceptions à l'aide d'un middleware dans Laravel Comment gérer les exceptions à l'aide d'un middleware dans Laravel Nov 04, 2023 pm 02:26 PM

Comment utiliser le middleware pour gérer les exceptions dans Laravel Le middleware est un concept important dans le framework Laravel. Il peut effectuer une série d'opérations avant et après que la requête atteigne le contrôleur. En plus de la vérification des autorisations, de la journalisation et d’autres fonctions courantes, le middleware peut également être utilisé pour gérer les exceptions. Dans cet article, nous explorerons comment utiliser le middleware pour gérer les exceptions dans Laravel et fournirons des exemples de code spécifiques. Tout d’abord, nous devons créer un middleware de gestion des exceptions. Vous pouvez générer une classe middleware en exécutant la commande suivante :

Comment utiliser un middleware pour l'exportation de données dans Laravel Comment utiliser un middleware pour l'exportation de données dans Laravel Nov 02, 2023 am 08:29 AM

Laravel est un framework d'application Web PHP populaire qui fournit de nombreuses fonctionnalités pratiques pour développer des applications Web hautes performances, évolutives et faciles à entretenir. L'une des fonctionnalités importantes est le middleware, qui peut effectuer certaines opérations entre les requêtes et les réponses. Dans cet article, nous verrons comment exporter des données vers des fichiers Excel à l'aide d'un middleware. Création d'une application Laravel Tout d'abord, nous devons créer une application Laravel. Vous pouvez utiliser co

Traitement des requêtes inter-domaines ThinkPHP6 : résoudre le problème de la séparation front-end et back-end Traitement des requêtes inter-domaines ThinkPHP6 : résoudre le problème de la séparation front-end et back-end Aug 13, 2023 am 09:10 AM

Traitement des requêtes inter-domaines ThinkPHP6 : résoudre le problème de la séparation front-end et back-end Avec le développement continu des applications Internet, le modèle de développement de séparation front-end et back-end devient de plus en plus courant. Lorsque vous utilisez le framework ThinkPHP6 pour développer des applications avec un front-end et un back-end distincts, les requêtes inter-domaines sont devenues un problème courant. Cet article expliquera comment gérer les requêtes inter-domaines dans ThinkPHP6 et fournira des exemples de code correspondants. 1. Qu'est-ce qu'une requête inter-domaine ? La requête inter-domaine fait référence au fait que dans une application Web, le code frontal est envoyé au back-end d'un nom de domaine ou d'un port différent via Ajax et d'autres méthodes.

Comment utiliser le middleware pour l'autorisation de connexion WeChat dans Laravel Comment utiliser le middleware pour l'autorisation de connexion WeChat dans Laravel Nov 03, 2023 am 10:55 AM

Comment utiliser le middleware pour l'autorisation de connexion WeChat dans Laravel Avec le développement rapide de l'Internet mobile, la connexion tierce est devenue un moyen populaire pour les utilisateurs de s'inscrire et de se connecter rapidement. Parmi eux, la connexion WeChat est l'une des plus populaires. Pour les développeurs, comment utiliser la connexion WeChat pour l'autorisation sur leurs propres sites Web ou applications est un besoin courant. Cet article expliquera comment utiliser le middleware dans le framework Laravel pour implémenter la fonction d'autorisation de connexion WeChat et fournira des exemples de code spécifiques. Tout d’abord, nous devons télécharger et installer Larav

A quoi sert le middleware Laravel ? A quoi sert le middleware Laravel ? Apr 09, 2024 pm 05:03 PM

Le middleware Laravel est utilisé pour : 1. L'authentification et l'autorisation ; 2. Le traitement des requêtes et des réponses HTTP ; 3. Le filtrage des réponses ; 4. La journalisation et la surveillance ; Le middleware permet aux développeurs d'ajouter facilement des fonctionnalités et des contraintes aux applications en dehors des contrôleurs de routage.

Middleware Laravel : ajoutez la migration de bases de données et la gestion des versions à votre application Middleware Laravel : ajoutez la migration de bases de données et la gestion des versions à votre application Aug 02, 2023 am 10:17 AM

Middleware Laravel : ajout de la migration de bases de données et de la gestion des versions aux applications Lors du développement et de la maintenance d'une application Web, la migration de bases de données et la gestion des versions sont une tâche très importante. Ils nous permettent de gérer facilement la structure et les données de la base de données sans avoir à mettre à jour ou reconstruire manuellement la base de données. Le framework Laravel fournit des fonctions puissantes et pratiques de migration de bases de données et de gestion de versions. En utilisant un middleware, nous pouvons intégrer plus facilement ces fonctions dans nos applications. Nous devons d'abord nous assurer que notre Lar

See all articles