Я занимаюсь разработкой веб-API JSON / REST, для которого я хочу, чтобы сторонние веб-сайты могли вызывать мой сервис через AJAX.Поэтому мой сервис отправляет известный заголовок CORS:
Access-Control-Allow-Origin: *
, который позволяет сторонним сайтам вызывать мой сервис через AJAX.Пока все в порядке.
Тем не менее, подраздел моего веб-API не является общедоступным и требует аутентификации (довольно стандартный материал с OAuth и файлом cookie access_token).Безопасно ли включать CORS и на этой части моего сайта?
С одной стороны, было бы здорово, если бы у сторонних веб-сайтов могли быть клиенты ajax, которые также взаимодействуют с этой частью моего сервиса.Однако причина, по которой существует такая же политика происхождения, заключается в том, что это может быть рискованно.Вы не хотите, чтобы какой-либо веб-сайт, который вы посещаете впоследствии, имел доступ к вашему личному контенту.
Сценарий, которого я боюсь, состоит в том, что пользователь входит в мой веб-API, либо на веб-сайте, либо через веб-сайт, которому он доверяет, и он забывает выйти из системы.Позволит ли это любому другому веб-сайту, который он посещает впоследствии, получить доступ к своему личному контенту, используя существующую сессию?
Итак, мои вопросы:
- Всегда ли безопасно включать CORS для непубличных пользователей?content?
- Если сервер с поддержкой CORS задает маркер сеанса через cookie, будет ли этот файл cookie сохраняться в домене сервера CORS или основного сервера веб-страниц?