


Comment utiliser un middleware pour implémenter le partage de ressources cross-origin (CORS) dans Laravel
Nov 02, 2023 pm 01:57 PMComment 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; }
在這個中間件中,我們設(shè)置了三個響應(yīng)頭,分別是:Access-Control-Allow-Origin
、Access-Control-Allow-Methods
和Access-Control-Allow-Headers
。Access-Control-Allow-Origin
允許所有源進(jìn)行跨域訪問,您也可以根據(jù)需要設(shè)置特定的域名。Access-Control-Allow-Methods
定義允許的請求方法,這里我們設(shè)置了常見的GET、POST、PUT、DELETE和OPTIONS。Access-Control-Allow-Headers
允許的請求頭中包含了Content-Type和Authorization。
步驟二:注冊CORS中間件
打開app/Http/Kernel.php
文件,找到$middleware
數(shù)組,并在數(shù)組中添加以下行代碼:
protected $middleware = [ // ... AppHttpMiddlewareCorsMiddleware::class, ];
以上代碼將添加CorsMiddleware
中間件到全局中間件堆棧中,以便它可以應(yīng)用于每一個請求。
步驟三:使用CORS中間件
為了驗證我們的CORS中間件是否有效,我們可以在一個API路由中使用它。在routes/api.php
文件中,添加一個GET路由,并為該路由使用CorsMiddleware
中間件:
Route::get('/test', function () { return response()->json(['message' => 'Hello World']); })->middleware('cors');
這個路由將返回一個包含"Hello World"消息的JSON響應(yīng)。
步驟四:驗證CORS設(shè)置
現(xiàn)在我們可以使用任何支持跨域訪問的客戶端,例如瀏覽器或REST客戶端進(jìn)行驗證。在瀏覽器的開發(fā)工具中,我們可以看到響應(yīng)的頭部信息。
例如,在Chrome瀏覽器上,打開開發(fā)者工具,切換到"Network"選項卡,然后訪問我們在步驟三中定義的路由/api/test
。在響應(yīng)頭部信息中,我們應(yīng)該看到Access-Control-Allow-Origin
、Access-Control-Allow-Methods
和Access-Control-Allow-Headers
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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 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?:

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

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 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.

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.

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

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 tache 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
