La façon de définir php pour qu'il soit inter-domaine est d'ajouter l'instruction [header("Access-Control-Allow-Origin: *");] directement à l'en-tête du fichier php, afin que toutes les adresses puissent être autorisées aux requêtes inter-domaines.
L'environnement d'exploitation de cet article : système windows10, php 7.3, ordinateur thinkpad t480.
Il existe trois façons d'autoriser l'accès entre domaines dans les paramètres PHP. Les méthodes spécifiques sont les suivantes :
Première méthode :
header("Access-Control-Allow-Origin: *");//允许所有地址跨域请求
Méthode deux :
header("Access-Control-Allow-Origin: http://localhost:8080");//指定某个地址可以跨域请求,这里只能指定一个
Troisième méthode : Si vous souhaitez autoriser l'accès inter-domaines. demandes provenant de plusieurs adresses, vous pouvez écrire comme ceci
$origin = ['http://localhost:8080','http://localhost:8081']; $AllowOrigin = 'http://localhost:8080'; if(in_array($_SERVER["HTTP_ORIGIN"],$origin)) { $AllowOrigin = $_SERVER["HTTP_ORIGIN"]; } header("Access-Control-Allow-Origin: ".$AllowOrigin );
Définissez les méthodes de requête autorisées, vous pouvez utiliser * pour tout indiquer, header("Access-Control-Allow-Methods: POST"); pour transporter des cookies, * ne peut pas être utilisé dans la configuration d'origine pour le moment, et le front-end Il semble que vous deviez également le configurer pour que la requête transporte un en-tête de cookie('Access-Control-Allow-Credentials:true');
Définissez l'en-tête de requête qui autorise les requêtes inter-domaines. Les informations de vérification de connexion sont généralement ajoutées à l'en-tête de requête, le serveur doit donc spécifier quels en-têtes de requête sont autorisés * ne peuvent pas être utilisés ici. header('Access-Control-Allow-Headers:token');
Recommandations associées :
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!