Maison  >  Article  >  développement back-end  >  Comment lever l'interdiction d'accès entre domaines en php

Comment lever l'interdiction d'accès entre domaines en php

(*-*)浩
(*-*)浩original
2019-09-20 09:43:063904parcourir

Cross-domain fait référence à la demande de ressources d'une page Web d'un nom de domaine vers un autre nom de domaine. Par exemple, demandez les ressources de www.google.com depuis la page www.baidu.com. La définition la plus stricte du cross-domain est la suivante : tant que le protocole, le nom de domaine et le port sont différents, il est considéré comme cross-domain.

Comment lever l'interdiction d'accès entre domaines en php

Si une page Web peut accéder librement aux ressources d'un autre site Web, il peut y avoir des problèmes de sécurité à l'insu du client, la valeur par défaut est donc l'accès inter-domaines. n'est pas autorisé.

De plus, la configuration de l'accès entre domaines doit être autorisée, comme indiqué ci-dessous (aucune autre opération de sortie n'est autorisée avant de configurer le contenu) : (Apprentissage recommandé : Programmation PHP Du débutant au maître)

//设置允许跨域的 请求源地址
//方式一:
header("Access-Control-Allow-Origin: *");//允许所有地址跨域请求
//方式二:
header("Access-Control-Allow-Origin: http://localhost:8080");//指定某个地址可以跨域请求,这里只能指定一个
//方式三:如果要允许多个地址跨域请求可以这样写
$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 );
---------------------------------------------------------------------------------
//设置允许的请求方法,可以用*表示所有,
header("Access-Control-Allow-Methods: POST");
---------------------------------------------------------------------------------
//如果允许请求携带cookie,此时 origin配置不能用 *,此时前端似乎也要做配置,让请求中携带cookie
header('Access-Control-Allow-Credentials:true');
---------------------------------------------------------------------------------
//设置允许跨域的请求头,通常会在请求头里面加登录验证信息,那么服务端需要指定允许那些请求头,这里不能用*,多个字段用逗号隔开。
header('Access-Control-Allow-Headers:token');

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