>백엔드 개발 >PHP 문제 >PHP에서 도메인 간 문제를 해결하는 방법

PHP에서 도메인 간 문제를 해결하는 방법

王林
王林앞으로
2021-02-12 09:49:363461검색

PHP에서 도메인 간 문제를 해결하는 방법

교차 도메인이란 무엇인가요?

교차 도메인은 브라우저가 다른 웹사이트의 스크립트를 실행할 수 없음을 의미합니다. 이는 브라우저가 부과하는 보안 제한인 브라우저의 동일 출처 정책(Same Origin Policy)으로 인해 발생합니다.

소위 동일한 출처라는 것은 도메인 이름, 프로토콜 및 포트가 동일하다는 것을 의미합니다.

1. 모든 도메인 이름 액세스 허용

header('Access-Control-Allow-Origin: *');

2. 단일 도메인 이름 액세스 허용

header('Access-Control-Allow-Origin: https://test.com');

3. 여러 도메인 이름 액세스 허용

실제 프로젝트에서는 액세스 가능한 도메인 이름을 지정하는 것이 가장 좋습니다. 도메인 전반에 걸쳐 보안을 강화합니다. 메소드 호출을 캡슐화하기 위해 공개 클래스에 작성할 수 있습니다.

// 设置能访问的域名
static public $originarr = [
   'https://test1.com',
   'https://test2.com',
];
 
/**
 *  公共方法调用
 */
static public function setheader()
{
   // 获取当前跨域域名
   $origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
   if (in_array($origin, self::$originarr)) {
      // 允许 $originarr 数组内的 域名跨域访问
      header('Access-Control-Allow-Origin:' . $origin);
      // 响应类型
      header('Access-Control-Allow-Methods:POST,GET');
      // 带 cookie 的跨域访问
      header('Access-Control-Allow-Credentials: true');
      // 响应头设置
      header('Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token');
   }
}

관련 권장 사항: php 튜토리얼

위 내용은 PHP에서 도메인 간 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제