Comment activer CORS pour le framework PHP Slim à l'aide des en-têtes PHP ?

Susan Sarandon
Libérer: 2024-11-01 04:40:02
original
788 Les gens l'ont consulté

How to Enable CORS for Slim PHP Framework Using PHP Headers?

Activation de CORS pour Slim PHP Framework dans .htaccess

Pour activer le partage de ressources cross-origine (CORS) pour un service RESTful créé avec le Framework PHP SLIM, les modifications du fichier .htaccess sont couramment utilisées. Cependant, si les problèmes persistent après avoir apporté la modification recommandée dans .htaccess, une approche alternative peut être utilisée.

Utilisation des en-têtes PHP

Au lieu de définir des en-têtes CORS dans .htaccess , cela peut être fait directement dans le code PHP, notamment dans le fichier index.php. En ajoutant le code suivant au début du fichier, les en-têtes CORS seront définis pour chaque requête HTTP reçue par l'application :

<code class="php">// Allow from any origin
if (isset($_SERVER['HTTP_ORIGIN'])) {
    // should do a check here to match $_SERVER['HTTP_ORIGIN'] to a
    // whitelist of safe domains
    header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age: 86400');    // cache for 1 day
}
// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
        header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");         

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
        header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

}</code>
Copier après la connexion

Gestion des requêtes OPTIONS

Si vous utilisez le framework PHP SLIM, vous devrez peut-être également gérer les requêtes OPTIONS. Ajoutez la route suivante à l'objet $app pour garantir que les requêtes OPTIONS reçoivent une réponse HTTP 200 :

<code class="php">// return HTTP 200 for HTTP OPTIONS requests
$app->map('/:x+', function($x) {
    http_response_code(200);
})->via('OPTIONS');</code>
Copier après la connexion

Ces modifications PHP offrent une alternative à la définition des en-têtes CORS dans .htaccess. En ajoutant les deux blocs de code au fichier index.php, vous pouvez activer CORS pour votre service SLIM PHP RESTful.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!