Dans le développement Web, les requêtes inter-domaines sont un problème courant. En effet, les navigateurs imposent des restrictions strictes sur les requêtes entre différents noms de domaine. Par exemple, le code frontal du site Web A ne peut pas envoyer de requêtes directement à l'API du site Web B à moins que le site Web B n'autorise les requêtes inter-domaines. Afin de résoudre ce problème, la technologie CORS (Cross-Origin Resource Sharing) a vu le jour. Cet article explique comment utiliser les requêtes inter-domaines CORS dans le framework PHP-Slim.
1. Qu'est-ce que CORS
CORS est un mécanisme qui indique au navigateur quand il envoie une requête inter-domaine en ajoutant des informations supplémentaires à l'en-tête HTTP correspondant. sont autorisés à ce moment-là. Normalement, le navigateur enverra une requête OPTIONS lors de l'envoi d'une requête d'origine croisée pour comprendre quelles requêtes sont autorisées. Le serveur doit répondre à cette demande et indiquer au navigateur dans l'en-tête de réponse quelles demandes sont autorisées.
2. Utilisation de CORS dans le framework PHP-Slim
Le framework PHP-Slim est un framework PHP léger pour créer des API RESTful. Ci-dessous, nous expliquerons comment utiliser les requêtes inter-domaines CORS dans le framework PHP-Slim.
Pour utiliser CORS, vous devez installer un middleware appelé slim-cors dans le framework PHP-Slim, ce middleware nous permet d'ajouter très facilement des en-têtes de réponse.
Nous pouvons utiliser composer pour installer le middleware slim-cors, exécutez simplement la commande suivante :
composer require tuupola/slim-cors:^1.1
Cela ajoutera le middleware slim-cors à notre projet.
L'enregistrement du middleware CORS dans notre application Slim est très simple. Il suffit de l'enregistrer comme middleware dans l'application.
Tout d'abord, nous devons introduire le middleware CORS :
use TuupolaMiddlewareCorsMiddleware;
Ensuite, nous devons l'enregistrer comme middleware de l'application :
$app->add(new CorsMiddleware([ "origin" => ["*"], "allowMethods" => ["GET", "POST", "PUT", "PATCH", "DELETE"], "allowHeaders" => ["Content-Type", "Authorization"] ]));
$.ajax({ method: 'POST', url: 'https://example.com/api', data: { name: 'John Doe' }, success: function(response) { console.log(response); } });
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!