Когда безопасно включать CORS?

Я разрабатываю веб-API JSON/REST, для которого я специально хочу, чтобы сторонние веб-сайты могли вызывать мою службу через AJAX. Следовательно, моя служба отправляет знаменитый заголовок CORS:

Access-Control-Allow-Origin: *

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

Тем не менее, часть моего веб-API не является общедоступной и требует аутентификации (довольно стандартные вещи с OAuth и файлом cookie access_token). Безопасно ли включать CORS и в этой части моего сайта?

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

Сценарий, которого я опасаюсь, заключается в том, что пользователь входит в мой веб-API либо на веб-сайте, либо через веб-сайт, которому он доверяет, и забывает выйти из системы.Позволит ли это любому другому веб-сайту, который он посещает впоследствии, получить доступ к его личному контенту, используя существующий сеанс?

Итак, мои вопросы:

  • Безопасно ли включать CORS для закрытого контента?
  • Если сервер с поддержкой CORS устанавливает session_token через файл cookie, будет ли этот файл cookie сохранен в домене сервера CORS или основного сервера веб-страницы?
68
задан hippietrail 15 March 2012 в 19:52
поделиться