2014-10-09 3 views
1

В настоящее время мы разрабатываем API, позволяющий клиентам и реселлерам приобретать и управлять нашими продуктами.Включение CORS в API

В настоящее время у нас нет CORS, разрешенных на сервере. Это предотвращает доступ js, например Angularjs к API.

Я хотел бы включить эти заголовки, чтобы клиенты могли получить доступ к нашему API через js в браузере.

Каковы риски внедрения CORS для подстановочного знака, позволяющего это на основе того, что по существу будет публичным API? Означает ли это, что наш API по своей природе более подвержен злоупотреблениям или чему-либо еще?

Access-Control-Allow-Origin: * 

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

ответ

0

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

Но вы можете ограничить его доменом, вы не обязаны использовать подстановочный знак.

+0

Спасибо, был поднят, но я не могу из-за репутации. – bbish007

1

Дано:

  • Алиса, человек работает на сайт
  • Боб, человек, который использует сайт Алисы
  • Мэллори, человек, который работает на вредоносный сайт

Если вы включить глобальный доступ к вашему API из браузера, используя CORS, затем:

Если Боба можно обмануть в посещение Мала Лори, веб-сайт Мэллори может поручить браузеру Боба получать данные с веб-сайта Алисы и отсылать его на сайт Мэллори.

Если Боб вошел на сайт Алисы, браузер отправит куки-файлы, необходимые для аутентификации в качестве Боба.

Затем Мэллори может получить доступ к любым данным на веб-сайте Алисы, который, как предполагается, будет принадлежать Алисе и Бобу (например, история заказов Боба, медицинские записи или все остальное, что хранится на веб-сайте Алисы).

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

+0

Спасибо @Quentin. API в настоящее время настроен с использованием логина, где ключ api создается в течение 24 часов. Для любых дальнейших взаимодействий с API требуется этот ключ API. Это то, что вы считаете «вторичным средством аутентификации»? – bbish007

Смежные вопросы