В этой статье путём установкиAccess-Control-Allow-Originдостигается кросс-доменный доступ.
Например: домен клиента — client.example.com, а запрашиваемый домен — server.example.com.
Если вы обращаетесь к нему напрямую через ajax, возникнет следующая ошибка:
XMLHttpRequest cannot load http://server.example.com/server.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://client.example.com' is therefore not allowed access.
1. Разрешить доступ одному домену
Чтобы разрешить конкретному домену (http://client.example.com) кросс-доменный доступ, просто добавьте следующий код в начало файла http://server.example.com/server.php:
header('Access-Control-Allow-Origin:http://client.example.com');
2. Разрешить доступ нескольким доменам
Чтобы разрешить нескольким доменам (http://client1.example.com, http://client2.example.com и т. д.) кросс-доменный доступ, просто добавьте следующий код в начало файла http://server.example.com/server.php:
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';
$allow_origin = array(
'http://client1.example.com',
'http://client2.example.com'
);
if(in_array($origin, $allow_origin)){
header('Access-Control-Allow-Origin:'.$origin);
}
3. Разрешить доступ всем доменам
Чтобы разрешить доступ всем доменам, просто добавьте следующий код в начало файла http://server.example.com/server.php:
header('Access-Control-Allow-Origin:*');