Обновить

Комментарии 7

спасибо за статью! очень всё круто объяснили!

Спасибо!

Спасибо, статья полезная, подробно разбирает тему.

проверяют origin «на глазок» — заканчивается ли он на shop.ru. Такую проверку тривиально обойти адресом вроде shop.ru.evil.com: он ведь тоже заканчивается на shop.ru

Нет ли тут ошибки? shop.ru.evil.com содержит shop.ru, а не заканчивается на shop.ru

Приятная подача. Раньше в эту тему сильно не углублялся, знал только поверхностно. Теперь знаю чуть больше :)

Это та база, которую я не мог понять. Большое спасибо, очень очень понятно расписали.

отражение чужого origin как есть. Разработчику надо разрешить доступ нескольким сайтам, и вместо того чтобы завести список разрешённых, он берёт origin прямо из пришедшего запроса и его же подставляет в разрешающий заголовок. Выходит «разрешаю тому, кто пришёл» — а пришёл может кто угодно. Любой сайт делает запрос, получает в ответ разрешение на самого себя, и защиты не остаётся никакой.

Не совсем ясно - "отражать чужой origin" или "поставить звёздочку" - это страшно или нет? Ведь это же легко обойти:

главное, что нужно унести с собой: CORS не защищает сервер. Он работает только в браузере и только против чтения ответа чужим фронтендом, а от запросов, идущих мимо браузера — из curl, из другого сервера, — не спасает вообще никак



Получилось очень просто, понятно и системно, прикопаю в качестве обучающего материала!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации