Предоставление доступа-Контроля-Разрешения-Источника с помощью подстановочного знака


Я создаю страницу, которая отвечает на запрос AJAX определенной строкой, когда другая определенная строка предоставляется в качестве переменной GET. Чтобы избежать проблем с политикой "того же происхождения", я обнаружил, что могу включить эту строку PHP в верхней части страницы:

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

Никаких конфиденциальных данных не передается вообще, на самом деле это ключевые слова, передаваемые туда и обратно из нескольких разных доменов (это приложение, связанное с SEO). Благодаря этому сотни различных домены будут использовать его, поэтому, если возможно, я хотел бы избежать указания каждого из них. Есть ли какие-либо риски при использовании этой линии? Если да, то каковы они?

Кроме того, если эта страница была расположена по URL-адресу HTTPS, она все еще доступна?

Любые советы, предложения или проблемы приветствуются. Спасибо!

Author: Doug Molineux, 2011-05-26

1 answers

Если доступ действительно общедоступен, я бы сказал, что это хорошее решение. Однако, если вы хотите ограничить доступ к своему сайту, вы, вероятно, захотите явно указать каждый разрешенный источник домена.

Поскольку вы говорите, что ваш ответ не содержит никакой конфиденциальной информации, вам, вероятно, не нужно беспокоиться о размещении вашего сервиса по протоколу HTTPS. Одна из причин, по которой вы можете это сделать, заключается в том, что клиентская HTTPS-страница пытается получить доступ к вашей службе, отличной от HTTPS. В таком случае, я бы предположил, что они получат предупреждение о незащищенной информации, отправляемой/получаемой при вызове вашей службы AJAX, и, возможно, даже просто о беззвучном сбое. Если это достаточно распространенный случай, то я бы сказал, что изучаю службу HTTPS. Убедитесь, что ваш сертификат HTTPS сертифицирован должным образом, потому что, если браузер клиента не сможет проверить сертификат, запрос AJAX автоматически завершится ошибкой (в отличие от запроса при переходе непосредственно на страницу HTTPS)! Кроме того, я не знаю, как это будет в вашем случае, но всякий раз, когда я работал с HTTPS мне обычно приходилось что-то настраивать, чтобы заставить их функционировать должным образом.

Короче говоря, я бы начал с HTTP, а затем оценил необходимость HTTPS. Удачи!

 9
Author: Briguy37, 2011-05-26 18:09:58