Предоставление Access-Control-Allow-Origin с Подстановочным знаком

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

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

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

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

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

1 ответов


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

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

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