SOP & CORS

#CORS #Держите #Читать
SOP & CORS

Держите открытыми две вкладки. В одной — интернет-банк, куда вы залогинены и где на экране висит ваш баланс. В другой — какой-то сайт, на который вы забрели по ссылке из выдачи, ничего особенного. Теперь вопрос, который на первый взгляд кажется надуманным, а на деле упирается в фундамент всей веб-безопасности: что мешает скрипту со второго сайта взять и прочитать ваш баланс из первого? Читать далее

Ситуация, в которой видно суть

Держите открытыми две вкладки. В одной — интернет-банк, куда вы залогинены и где на экране висит ваш баланс. В другой — какой-то сайт, на который вы забрели по ссылке из выдачи, ничего особенного. Теперь вопрос, который на первый взгляд кажется надуманным, а на деле упирается в фундамент всей веб-безопасности: что мешает скрипту со второго сайта взять и прочитать ваш баланс из первого?

Разберёмся, что технически ничего не мешает. Обе вкладки живут в одном браузере, браузер имеет доступ к обеим. Скрипт со случайного сайта вполне мог бы сформировать запрос к домену банка. Мало того, браузер по умолчанию приложил бы к этому запросу ваши куки — те самые, по которым банк отличает вас от постороннего, — то есть запрос ушёл бы как будто от вас, залогиненного. Ответ с балансом вернулся бы. Оставалось бы прочитать его и отправить куда угодно. Ни одного технически сложного шага в этой цепочке нет.

И тем не менее этого не происходит никогда. Не потому что банк как-то особо защищён, а потому что в каждый браузер вшито правило, которое работает всегда и по умолчанию, даже когда о нём никто не вспоминает. Правило это называется Same-Origin Policy, и именно оно не даёт одной вкладке читать содержимое другой. С него всё и начинается, а CORS, о который потом обязательно спотыкается каждый, кто впервые тянет на свой сайт данные с чужого API, — это уже надстройка над ним. Но чтобы понять CORS, надо сперва как следует понять само правило, потому что почти вся…

Похожие статьи

Аргументы и Факты
Аргументы и Факты

Шестилетний мальчик пропал у реки Егорлык на Ставрополье

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

Аргументы и Факты
РБК
РБК

Крупный пожар в хорватском Омише

Крупный пожар в хорватском Омише

РБК
Fnatic впервые в истории пропустит Champions по Valorant Чемпионат
Чемпионат

Fnatic впервые в истории пропустит Champions по Valorant

Fnatic проиграла Joblife со счётом 0:2 в матче VCT 2026: EMEA Stage 2 и завершила сезон на 11–12-м месте.

Чемпионат
Чикунова: Клебо перед стартами может уехать жить один. Может, попробовать что-то подобное Чемпионат
Чемпионат

Чикунова: Клебо перед стартами может уехать жить один. Может, попробовать что-то подобное

Российская пловчиха Евгения Чикунова рассказала, что может попробовать метод норвежского лыжника Йоханнеса Клебо, который перед Олимпийскими играми изолирует себя от команды, чтобы избежать риска зара...

Чемпионат
Аргументы и Факты
Аргументы и Факты

ИИ уволил сотрудника за опоздания в ходе эксперимента в Сан-Франциско

ИИ-модель Claude уволила сотрудника магазина после 17 опозданий за 23 смены. Эксперимент показал и серьезные ограничения ИИ-менеджмента.

Аргументы и Факты
«Драма, конкурсная борьба». Климент Колесников — о заплыве 50 м на спине на ЧЕ-2026 Чемпионат
Чемпионат

«Драма, конкурсная борьба». Климент Колесников — о заплыве 50 м на спине на ЧЕ-2026

Серебряный призёр Олимпийских игр 2020 года пловец Климент Колесников прокомментировал свой заплыв на дистанции 50 м на спине на чемпионате Европы – 2026 по водным видам спорта.

Чемпионат