Можно ли запретить браузерам делать кросс-схемы CORS-запросов? - PullRequest
3 голосов
/ 10 июня 2011

Я создаю API, предназначенный для использования клиентами Javascript, размещенными в разных доменах через запросы CORS.

Мой API доступен только через HTTPS.

Я бы хотел ограничить доступ только теми клиентами Javascript, которые также обслуживаются из доменов HTTPS.

Чтение спецификации CORS - http://www.w3.org/TR/cors/#user-agent-security - похоже, что большинство пользовательских агентов автоматически запрещают HTTPS-клиенту выполнять запросы HTTP API.

Можно ли требовать обратного - т.е. запретить HTTP-клиентам доступ к моему HTTPS API?

Ответы [ 3 ]

1 голос
/ 11 июня 2011

Как насчет проверки заголовка Referer, чтобы увидеть, начинается ли он с «https»? Вы также можете убедиться, что Реферер соответствует домену происхождения в качестве проверки работоспособности.

0 голосов
/ 26 марта 2012

Я понимаю, что это немного поздно, но я сегодня просматриваю вопросы CORS.

Ответ - посмотреть заголовок «Origin» в запросе. Если он не начинается с https:, отклоните запрос. Я не уверен, какой код статуса лучше использовать. Вероятно, ответ 403 Forbidden.

0 голосов
/ 10 июня 2011

Вы должны настроить свой сервер так, чтобы разрешать только вызовы https в вашем API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...