>  기사  >  백엔드 개발  >  PHP는 클라이언트 측 Ajax 교차 도메인을 허용하기 위해 서버 측을 구현합니다.

PHP는 클라이언트 측 Ajax 교차 도메인을 허용하기 위해 서버 측을 구현합니다.

little bottle
little bottle앞으로
2019-04-20 16:26:062983검색

이 기사에서는 주로 PHP를 사용하여 클라이언트 측 Ajax 크로스 도메인을 허용하는 서버 측 구현에 대해 설명합니다.

교차 도메인 문제를 해결하는 열쇠는 Access-Control-Allow-Origin을 설정하는 것입니다.
예: 클라이언트의 도메인 이름은 api.itbsl.com이고, 요청한 도메인 이름은 www.itbsl.com입니다.
ajax를 사용하여 직접 액세스하면 다음과 같은 오류가 발생합니다.

XMLHttpRequest는 http: //www.itbsl.com/server.php를 로드할 수 없습니다. 요청된 리소스에 'Access-Control-Allow-Origin' 헤더가 없습니다.Origin 'http://api.itbsl.com' 따라서 액세스가 허용되지 않습니다.

1. 단일 도메인 이름의 액세스 허용
도메인 간 액세스를 위해 도메인 이름 http://api.itbsl.com을 지정하려면 헤더에 다음 코드만 추가하면 됩니다. http://www.itbsl.com/server.php 파일 중:

header('Access-Control-Allow-Origin:http://api.itbsl.com');

2. 여러 도메인 이름에 대한 액세스 허용
http://api.itbsl.com, http:/와 같이 여러 도메인 이름을 지정하는 경우 /doc.itbsl.com 등 교차 도메인 액세스의 경우 http://www.itbsl.com /server.php 파일 헤더에 액세스하기만 하면 다음 코드를 추가할 수 있습니다:

$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';  
  
$allow_origin = array(  
    'http://api.itbsl.com',  
    'http://doc.itbsl.com'  
);  
  
if(in_array($origin, $allow_origin)){  
    header('Access-Control-Allow-Origin:'.$origin);       
}

3. 모든 도메인 이름을 허용합니다. access
모든 도메인 이름의 액세스를 허용하려면 http://www.itbsl.com/server.php 파일 헤더에 다음 코드를 추가하세요:

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

관련 동영상: ajax 동영상 튜토리얼

위 내용은 PHP는 클라이언트 측 Ajax 교차 도메인을 허용하기 위해 서버 측을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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