CORS с нуля. Основы

  Рет қаралды 16,694

ZeBrains Broadcast

ZeBrains Broadcast

Жыл бұрын

В рамках небольшого доклада узнаем что такое CORS, для чего необходим и как с ним работать.
Полезные ссылки:
1. CORS developer.mozilla.org/ru/docs...
2. Express cors middleware expressjs.com/en/resources/mi...
3. No 'Access-Control-Allow-Origin' header stackoverflow.com/questions/3...
Михаил Федотов
#CORS #frontend #ZeBrains
zebrains.ru

Пікірлер: 32
@alanpuch2243
@alanpuch2243 6 ай бұрын
Благодарю, в тумане начинает вырисовываться понимание запроса на сервер. 👦👍
@samolevich
@samolevich 11 ай бұрын
Самое лучшее что я видел на эту тему Просто подробнейшее и исчерпывающее объяснение Спасибо огромное
@me29_hi8
@me29_hi8 9 ай бұрын
Даже за год после выхода, никто из авторов не смог догнать эту тему по качеству... Браво
@user-hb5vd3ey9d
@user-hb5vd3ey9d 5 ай бұрын
Отличное видео! Наконец-то до меня дошло что такое cors👍
@prod.wembley3816
@prod.wembley3816 11 ай бұрын
Потрясающее разьяснение!
@Vovan00275
@Vovan00275 Жыл бұрын
Спасибо, очень крутое пояснение!
@someChicoRy
@someChicoRy 11 ай бұрын
Круто. Всё по теме и без воды( наверное)))))
@seoonlyRU
@seoonlyRU 9 ай бұрын
как всегда мощно и лайк от СЕООНЛИ
@saber1in
@saber1in 8 ай бұрын
Лучшее объяснение
@user-fw2pp5zg2q
@user-fw2pp5zg2q 8 ай бұрын
Кто нажал дизлайк? Очень странные люди Материал очень годный. Все хорошо разложил, все понятно
@Drcn011
@Drcn011 11 ай бұрын
Я хз, как люди пишут, что им очень понравилось объяснение) Я практически вообще ничего не понял, и это при том, что уже как-то раз писал на бэке UseCors() с разрешающими политиками, чтобы подружить разные источники...
@ZeBrains
@ZeBrains 11 ай бұрын
Нам очень жаль, что доклад не помог Вам лучше разобраться с CORS. Из контекста комментария не совсем понятно, что именно понять не получилось. На некоторые из вопросов мы также ответили в комментариях к этому видео. Возможно, ответы к этим комментариям помогут Вам понять то, что не удалось понять из видео.
@user-rl8fy6xe1t
@user-rl8fy6xe1t Жыл бұрын
А должен ли сам сервер, перед тем как отдавать ответ, сверяться со своей CORS конфигурацией, и в случае чего возвращать пустой ответ со статусом 403?
@ZeBrains
@ZeBrains Жыл бұрын
Да, сервер должен сверяться со своей CORS конфигурацией перед тем, как отдавать ответ. Если запрашиваемый источник не входит в список доверенных источников, сервер может вернуть пустой ответ со статусом 403, но может и не возвращать. Вообще 403 статус имеет отношение к запрещению доступа к ресурсу. Поэтому на 403 статус будет влиять скорее не CORS, а другие факторы.
@fightspace9822
@fightspace9822 10 ай бұрын
Добрый день. Спасибо за видео. Я сделал и все работает на локалхост, но перевел все на сервер и все перестало работать. Это проблема самого сервера ???
@ZeBrains
@ZeBrains 9 ай бұрын
Здравствуйте! Необходимо провести настройки на Вашем сервере для разрешения кросс-доменных запросов.
@user-ci8yo4yr7s
@user-ci8yo4yr7s Жыл бұрын
Столкнулся с ошибкой CORS, и никак не могу понять. Да, действительно, при отправке запроса из браузера, получаю ошибку, но если обращаюсь по той же ссылке из python скрипта, ошибок нет, получаю полноценный ответ. Так в чем защита тогда?
@ZeBrains
@ZeBrains Жыл бұрын
Ошибка CORS (Cross-Origin Resource Sharing) возникает тогда, когда веб-страница, загруженная из одного домена, пытается отправить запрос на другой домен. Таким образом, ошибка CORS возникает из-за политики безопасности браузера, которая предотвращает выполнение запросов на другие домены. В Вашем случае использование Python позволяет обходить эту политику и выполнять запросы без ошибок, тк запросы отправляются не напрямую из браузера.
@couragic
@couragic 8 ай бұрын
жаль этот момент не затронули в видео. Можно закрепить этот коммент.
@freenorthcaucasus
@freenorthcaucasus Жыл бұрын
К примеру у меня есть сайт и приложение как мне запретить пользоваться апишкой все ресурсы кроме моего сайта и приложения?
@ZeBrains
@ZeBrains Жыл бұрын
Хороший вопрос, хоть и не относится к CORS. Совсем простого способа "закрыть" API полностью для всех, кроме Вашего сайта и приложения, нет. В любом случае придется делать обработку запроса. Подходы к защите могут сильно отличаться в зависимости от требований конкретного проекта. Где-то может хватить ограничения доступа только авторизованным пользователям, например, с помощью JWT. Где-то могут использоваться какие-то другие токены, подписи. Где-то в теле запроса могут передаваться различные объекты с наборами генерируемых данных, благодаря которым можно быть практически уверенными, откуда пришел запрос. На самом деле это тема для огромной дискуссии. В каждом конкретном случае подход может быть разным.
@user-hb5vd3ey9d
@user-hb5vd3ey9d 5 ай бұрын
я у себя на сайте сделал white list. Только с разрешённых ip можно обратится к бэку
@ArteEtMarte
@ArteEtMarte Жыл бұрын
Никак не пойму по поводу CORS... каким образом сторонний сайт "от вашего имени" может отправить что то, если у него нет данных для аутентификации? Исходя из того, что у вас доступ есть, а у стороннего сайта нет, то механизм аутентификации точно есть... А если у злоумышленника есть данные для аутентификации, то что мешает ему подделать все прочие данные вообще не используя вас и браузеры в этой схеме? CORS выглядит как штука, которая почти не добавляет безопасности(если вообще добавляет), зато создает кучу проблем, особенно, людям, сталкивающимся с этим впервые...
@ZeBrains
@ZeBrains 11 ай бұрын
CORS- зона ответственности исключительно браузера. Именно через браузер рядовой пользователь взаимодействует с веб-приложением и именно в браузере пользователь может столкнуться с различными атаками, направленными на его конфиденциальные данные. Дополнительно можно почитать csplite.com/ru/csp291/ и csplite.com/ru/csp150/
@user-kn8nl4lv5y
@user-kn8nl4lv5y 11 ай бұрын
@@ZeBrains вот этого в видео и не хватает. А то кажется, что сам сервер непосредственно блочит запрос.
@ZeBrains
@ZeBrains 11 ай бұрын
Спасибо за замечание. Хоть в конце видео и говорится о том, что это делает браузер, все же стоило об этом сказать более подробно и в начале. Постараемся учесть такие нюансы в наших будущих видео 😊
@KanstantsinSudzilouski
@KanstantsinSudzilouski 9 ай бұрын
10:30 у https порт будет 443 а не 80
@mikewazowski7526
@mikewazowski7526 8 ай бұрын
В начале чувак плохо объясняет. Даже немного будучи в курсе темы все равно трудно понять из-за обилия избыточных абстрактных терминов: «у вас есть некий закрытый ресурс». Дайте пример. Скажите, что например я из своего приложения хочу сделать запрос в интернет-банкинг пользователя. Дайте больше жизни в свои пояснения. Потом все достаточно подробно, спасибо!
@VovanEkb
@VovanEkb Жыл бұрын
Ну можно же было Origin говорить а не источники, ну такая путаница потом в голове, как отступы блин в css которые не отступы нифига
@ZeBrains
@ZeBrains Жыл бұрын
В переводе origin и есть источник. Даже CORS (Cross-Origin Resource Sharing) будет звучать как "совместное использование ресурсов разных источников". На ресурсах амазона (aws.amazon.com/ru/what-is/cross-origin-resource-sharing/) и яндекса (cloud.yandex.ru/docs/glossary/cors) придерживаются такого же перевода и называют origin источником.
@user-fr5tt6cu4q
@user-fr5tt6cu4q 11 ай бұрын
Это сугубо браузерная хрень. На бэке такого не возникает
@ZeBrains
@ZeBrains 11 ай бұрын
Все верно 👍
API адаптеры
20:50
ZeBrains Broadcast
Рет қаралды 1,3 М.
1❤️#thankyou #shorts
00:21
あみか部
Рет қаралды 88 МЛН
터키아이스크림🇹🇷🍦Turkish ice cream #funny #shorts
00:26
Byungari 병아리언니
Рет қаралды 25 МЛН
He sees meat everywhere 😄🥩
00:11
AngLova
Рет қаралды 6 МЛН
Что такое REST на самом деле?
11:32
Merion Academy
Рет қаралды 56 М.
Ajax в деталях #9, CORS, options, content-type, accept-type
22:15
CSRF (доска)
9:52
Владимир Башун
Рет қаралды 9 М.
Cross Origin Resource Sharing (Explained by Example)
23:15
Hussein Nasser
Рет қаралды 153 М.
Что такое CORS и зачем он нужен? По простому
8:15
Мир IT с Антоном Павленко
Рет қаралды 58 М.
What is CORS?
13:22
A shot of code
Рет қаралды 62 М.
Оптимизация запросов в PostgreSQL
25:33
ZeBrains Broadcast
Рет қаралды 3,8 М.
API простыми словами. Что такое API? | 2022
4:00
1❤️#thankyou #shorts
00:21
あみか部
Рет қаралды 88 МЛН