
Комментарии 7
спасибо за статью! очень всё круто объяснили!
Спасибо, статья полезная, подробно разбирает тему.
проверяют origin «на глазок» — заканчивается ли он на shop.ru. Такую проверку тривиально обойти адресом вроде shop.ru.evil.com: он ведь тоже заканчивается на shop.ru
Нет ли тут ошибки? shop.ru.evil.com содержит shop.ru, а не заканчивается на shop.ru
Приятная подача. Раньше в эту тему сильно не углублялся, знал только поверхностно. Теперь знаю чуть больше :)
Это та база, которую я не мог понять. Большое спасибо, очень очень понятно расписали.
отражение чужого origin как есть. Разработчику надо разрешить доступ нескольким сайтам, и вместо того чтобы завести список разрешённых, он берёт origin прямо из пришедшего запроса и его же подставляет в разрешающий заголовок. Выходит «разрешаю тому, кто пришёл» — а пришёл может кто угодно. Любой сайт делает запрос, получает в ответ разрешение на самого себя, и защиты не остаётся никакой.
Не совсем ясно - "отражать чужой origin" или "поставить звёздочку" - это страшно или нет? Ведь это же легко обойти:
главное, что нужно унести с собой: CORS не защищает сервер. Он работает только в браузере и только против чтения ответа чужим фронтендом, а от запросов, идущих мимо браузера — из curl, из другого сервера, — не спасает вообще никак
Получилось очень просто, понятно и системно, прикопаю в качестве обучающего материала!
SOP & CORS