Как стать автором
Обновить

CORS для чайников: история возникновения, как устроен и оптимальные методы работы

Время на прочтение17 мин
Количество просмотров380K
Всего голосов 41: ↑40 и ↓1+57
Комментарии14

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

Я тоже натерпелся, если честно)
Все терпели, а кто говорит, что не терпел, терпел больше обычного.
Ну, если для чайников, то в разработке нпр.:
Firefox: https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/
Chrome: https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf

А потом, нпр. если Apache:
Header set Access-Control-Allow-Origin "*"
в /etc/apache2/sites-available/000-default.conf

Если делаем React/Next/… итд, a back-end на «каком-то-там-нашем» сервере, то по любому будет CORS головная боль. Back-end там, а сайт (Node) на нашей машине (localhost). Чистой воды CORS. Плагины помогают это превзойти на стадии разработки, пока не залили front-end на наш сервер.

Если и впредь будет Cross Origin, то только настройки веб сервера.
НЛО прилетело и опубликовало эту надпись здесь

Перед любым запросом, отличным от GET, предварительно отправляется OPTIONS-запрос, и если в его ответе не прилетело разрешение на выполнение запроса, то реальный запрос отправлен не будет, так что CSRF уязвимости здесь нет. И об этом в посте даже написано

НЛО прилетело и опубликовало эту надпись здесь
CORS запросы делятся на простые и сложные, для простых не требуется пердварительный OPTIONS, запрос сразу улетает на сервер открывая двери для CSRF.
К простым запросам относятся: методы GET/POST/HEAD c content-type text/plain, application/x-www-form-urlencoded, multipart/form-data.
developer.mozilla.org/ru/docs/Web/HTTP/CORS

И правда, POST-запрос отправился без предварительного OPTIONS, не знал. Странное решение

НЛО прилетело и опубликовало эту надпись здесь
Я так дико ненавижу CORS что у меня на физическом уровне отвращение при попытке прочитать статью, что мне делать?
не читать статью, очевидно
почитать еще что-то

Ошибка: к 3-им лицам.
Правильно: к третьим или, на худой конец, к 3-м.

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