Что такое CORS и зачем он нужен? По простому

Ғылым және технология

Надежный хостинг FirstVDS! Переходи по ссылке и получай скидку 25% на первый месяц на любой тариф firstvds.ru/s/wn9zn
Что такое CORS и зачем он нужен? Часто встречал в комментариях под видео этот вопрос.
И вот пришло время вам рассказать что такое cors по-простому как на абстрактных, так и на реальных примерах. Так же расскажу как настроить cors в nginx для сайта, так и для определенного запроса. Расскажу зачем нужные такие заголовки как: Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Max-Age и Access-Control-Allow-Credentials.
СМОТРИТЕ ДРУГИЕ ВИДЕО ПО ЭТОЙ ТЕМЕ В ПЛЕЙЛИСТЕ
• WEB-технологии
ХОТИТЕ ПОМОЧЬ РАЗВИТИЮ КАНАЛА?
★ BITCOIN: 3DkeRMFu4jsZCvRj8Bxn8iQCkgxfeVaxg8
★ Boosty (подписка донаты) boosty.to/pavlenkoat
★ Яндекс.Деньги: money.yandex.ru/to/4100124083...
★ www.donationalerts.com/r/pavl...
★ www.tinkoff.ru/rm/pavlenko.an...
КОНТАКТЫ:
✦ Канал в TELEGRAM: t.me/worlditech (worlditech)
✦ Чат в TELEGRAM: t.me/linux_witпростых примерах
✦ Группа в VK: worlditech
✦ INSTAGRAM: / pavlenko.at
✦ DISCORD: / discord
Еще контакты:
✧ t.me/pavlenko_at
atpavlenko
✧ / anton.pavlenko.94

Пікірлер: 216

  • @1.015
    @1.0152 жыл бұрын

    Автор, большое спасибо за объяснение, но ничего непонятно. ;-)

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    Что непонятно?

  • @1.015

    @1.015

    2 жыл бұрын

    @@pavlenkoat это был один из комментариев для продвижения ролика. Первый комментарий, что все понятно, а на второй вы ответили. ))) Успехов в развитии канала! ;-)

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    Спасибо

  • @SbWereWolf

    @SbWereWolf

    2 жыл бұрын

    @@pavlenkoat понятно что браузер отправляет серверу, и понятно какую пару заголовков надо отдавать с сервера, но тема сисек не раскрыта. Про PUT/PATCH/DELETEни слова, и эти типы запросов не будут работать, пока их не разрешишь. Мне казалось, что предварительные это точно OPTIONS и возможно HEAD, браузер с их помощью как раз узнает CORS политику сервера и в соответствии с ней, что то дальше разрешает или запрещает. Я год назад маялся с этим CORS, подробностей не помню. Надеялся в этом видео освежить воспоминания и узнать как правильно настроить NGINX. Надеялся будет практическая часть, но видимо это не твой формат. А было бы прикольно из браузера отправлять запросы на сервер, который не настроен, получать ошибки в браузере, и постепенно настраивать сервер, добавлять одну за другой опции в конфиг и смотреть как меняется реакция браузера.

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    @@SbWereWolf Я JS не знаю, а знакомые фронтендеры были заняты. Сожалею об этом, но сроки поджимали.

  • @user-dk4nq2ex5t
    @user-dk4nq2ex5t2 жыл бұрын

    Спасибо за разъяснения, образовательный контент всегда хорошо:) Всё стороннего прогресса и развития :)

  • @sergeydmitrievsky
    @sergeydmitrievsky2 жыл бұрын

    Важная тема. Спасибо за объяснение. Ее любят спрашивать на собеседованиях 😃 А такие харды - это показатель экспертности.

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    Так я специально ходу на собеседования чтобы снимать видео на актуальные темы)))))

  • @user-jz3on5rd7p
    @user-jz3on5rd7p2 жыл бұрын

    Спасибо за видео. Классно и понятно. Пример с козлятами вообще огонь!)))

  • @user-xp9kv8ut7e
    @user-xp9kv8ut7e Жыл бұрын

    Спасибо! Который раз возвращаюсь к вопросу cors, решил въехать окончательно) Видео отлично легло на ранее прочитанную инфу и заполнило все пробелы.

  • @waltermelon3206
    @waltermelon32062 жыл бұрын

    Отличный урок, благодарю за информативность, актуальная информация, как всегда на уровне

  • @ivanshka1759
    @ivanshka175911 ай бұрын

    Достаточно простое объяснение не самой легкой для понимания темы. Годно)

  • @Zzepish
    @Zzepish2 жыл бұрын

    Спасибо большое! Очень полезное видео :)

  • @Serega5j
    @Serega5j Жыл бұрын

    Спасибо тебе добрый человек. Немного прояснил эту мутную тему и навел на нужные мысли

  • @CreateLifeYT
    @CreateLifeYT Жыл бұрын

    Красавчик, пересматривал коды и само видео много раз, но благодаря тебе новички поймут данную тему! Спасибо!

  • @user-qg2yr1wd2e
    @user-qg2yr1wd2e2 жыл бұрын

    Самое главное я понял, что весь контроль происходит на стороне пользователя. Спасибо за абстрактный пример.

  • @MrJet84
    @MrJet84 Жыл бұрын

    Просто офигенно. Спасибо!

  • @alexandershikhov682
    @alexandershikhov6822 жыл бұрын

    Антон, спасибо за разъяснения! Очень исчерпывающе!

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    Всегда пожалуйста))))

  • @artemfedotov30
    @artemfedotov309 ай бұрын

    прекрасные ассоциации, спасибо вам за работу!

  • @alextektumanidze8455
    @alextektumanidze8455Ай бұрын

    Отличное объяснение, автору респект )

  • @mydeviousway
    @mydeviousway2 жыл бұрын

    подход оъяснения нормальный, продолжай в этом же духе

  • @1.015
    @1.0152 жыл бұрын

    Автор, большое спасибо. Все понятно объяснил. ;-)

  • @kashasa3150
    @kashasa31502 жыл бұрын

    огонь, пример с козлятами потрясный. Очень просто и понятно, спасибо!

  • @p4m3remostone71
    @p4m3remostone712 жыл бұрын

    Да, хорошая тема, теперь стало более понятно

  • @kirillkalita344
    @kirillkalita3442 жыл бұрын

    Спасибо, понятно и доступно!

  • @vladislavpitsuha
    @vladislavpitsuha2 ай бұрын

    Спасибо большое за вашу работу, намного лучше понял принцип CORS. Стоит отдельно оценить пример, креативно и понятно)) Автору успехов и вам тоже, друзья!

  • @dogober3861
    @dogober3861 Жыл бұрын

    Спасибо за объяснения!

  • @Yar1sson
    @Yar1sson2 жыл бұрын

    Спасибо! Очень понятно и просто

  • @agator10008
    @agator100082 жыл бұрын

    Да, спасибо большое, тестерам тоже знать надо)

  • @Dreamer_78
    @Dreamer_78 Жыл бұрын

    Спасибо брат что объяснил, успехов и процветания твоему каналу!!!

  • @user-df8yw6tb1s
    @user-df8yw6tb1s5 ай бұрын

    прекрасные ассоциации, спасибо вам за работу!)

  • @user-wm5re5ps5y
    @user-wm5re5ps5y2 жыл бұрын

    Хорошее видео, спасибо!

  • @p.v.a.8638
    @p.v.a.86383 ай бұрын

    Спасибо за видео)

  • @timursholokh8520
    @timursholokh85202 жыл бұрын

    Я буквально 10 минут назад изучал статью про CORS и тут видео по этой теме вышло 🤔

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    Большой брат следит за тобой

  • @timursholokh8520

    @timursholokh8520

    2 жыл бұрын

    @@pavlenkoat Тогда прошу большого брата ещё и видео про прокси сервера выпустить. Мне лично было бы очень интересно послушать 🤗

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    @@timursholokh8520 Nginx? вот видос kzread.info/dash/bejne/m6ya0NqFocayf9Y.html

  • @life8261
    @life8261 Жыл бұрын

    Спасибо. Классное объяснение.

  • @mascai
    @mascai2 жыл бұрын

    Актуально, спасибо!

  • @sir_damnkrat
    @sir_damnkrat2 жыл бұрын

    Спасибо огромное, наконец-то понял что за CORS и чем опасна его ошибка валидации

  • @TrumpsOfDesign
    @TrumpsOfDesign Жыл бұрын

    Спасибо за ролик, за 8 минут вполне дает общее представление о том, что это и зачем нужно. В моем случае было более подходяще, чем читать огромную подробную пеленку на mdn

  • @user-ro5ii5lj5c
    @user-ro5ii5lj5c10 ай бұрын

    вообще супер круто объяснил!!!спасибо тебе!!шикарно!

  • @viksench6447
    @viksench64472 жыл бұрын

    Супер, спасибо!

  • @arthurhovakimyan1146
    @arthurhovakimyan11462 жыл бұрын

    Спасибо, за видео. Совсем недавно столкнулся с ошибкой CORS. Это было при написании Single page application (SPA) на Laravel PHP framework и Vue.js.

  • @user-se4gg9sk4b
    @user-se4gg9sk4b4 ай бұрын

    Спасибо! Стало немного понятнее

  • @evgeniybelkovskiy4896
    @evgeniybelkovskiy4896 Жыл бұрын

    Благодарим, Антон!

  • @themichael8767
    @themichael8767 Жыл бұрын

    Спасибо Вам большое 🤍

  • @anatolys9203
    @anatolys92032 жыл бұрын

    классный рассказ )) спасибо!

  • @AbcDef-nv7qy
    @AbcDef-nv7qy4 ай бұрын

    Спасибо большое!

  • @user-ki4hu6hl8g
    @user-ki4hu6hl8g7 ай бұрын

    Супер круто, начал чуток понимать, когда прочитал 5 статей, потом решил зайти на ютуб, эврика! Спасибо!

  • @user-wk1vz2zq6f
    @user-wk1vz2zq6f2 жыл бұрын

    Братан хорош! Давай вперёд! Контент в кайф! Можно ещё? Вообще красавчик!

  • @astkh4381
    @astkh4381 Жыл бұрын

    спасибо за видео.

  • @ni55an
    @ni55an2 жыл бұрын

    6:32 самый важный момент, так как на собеседованиях я заметил, что те, кто отвечают что такое CORS'ы, не понимают на какой стороне это контролируется. Считают, что эти проверки и отклонение запроса делаются на серверной стороне

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    Да-да. Тоже замечал. В ролике я несколько раз говорю об этом, но наверно не так заметно

  • @user-yr3wc6oz2i

    @user-yr3wc6oz2i

    2 жыл бұрын

    Вы совершенно правы. Самое главное тут понимать что все это делает браузер, сам спрашиваем, сам смотрит заголовки, сам выкидывает ошибку если что-то не так

  • @voidmain90

    @voidmain90

    2 жыл бұрын

    ну так сервером тоже контролируется. не добавлю я в nginx возможность обращаться к серваку с др домена и браузер залочит. Как раз на сервере и рулится

  • @ni55an

    @ni55an

    2 жыл бұрын

    @@voidmain90 может что-то и рулится у вас на сервере, то это называется не CORS. Сервер только отдает хэдеры, и не важно будет это nginx или что-то другое. А сам CORS это браузерная технология, а серверы между собой могут спокойно общаться и CORS там ниоткуда не появится

  • @voidmain90

    @voidmain90

    2 жыл бұрын

    @@ni55an Если браузер рулит тут значит мы на это не можем повлиять? Ещё как можем..и делается это на сервере. Браузер же оценивая заголовки от сервера делает свою работу по блокировки или нет. Но разработчики управляют настройками cors на серваке. Т.е. именно я как разработчик своего апи на сервере решаю кто и с каких урлов ко мне могут прийти а не браузер по каким то своим неведомым/магическим причинам.

  • @meteysh
    @meteysh Жыл бұрын

    Спасибо Антон!

  • @intruder70
    @intruder70 Жыл бұрын

    все равно не понял

  • @intruder70

    @intruder70

    3 ай бұрын

    ща опять посмотрел, нифига не понял. захожу в комменты и вижу свой старый коммент

  • @shadymindyt

    @shadymindyt

    2 ай бұрын

    ​@@intruder70я тебя на кодебай видел

  • @intruder70

    @intruder70

    2 ай бұрын

    ​@@shadymindyt Кодбай тема ❤

  • @user-zh3bx9kj3m
    @user-zh3bx9kj3m2 жыл бұрын

    Спасибо за объяснение. Да, про то что это браузерная технология и именно на стороне клиента происходит верификация - это очень важная штука.

  • @eb6006
    @eb60062 жыл бұрын

    Вот спасибо все объяснил. Теперь понятно. А было не понятно.

  • @polinaskvorova5369
    @polinaskvorova53692 жыл бұрын

    Даже что-то поняла, вроде. Спасибо

  • @antonpavlenko5890

    @antonpavlenko5890

    2 жыл бұрын

    Это хорошо)))

  • @ci_cd4834
    @ci_cd48342 жыл бұрын

    Приветствую. Пишу еще один благодарный комментарий. И вообще, подобного рода контент чудесен и прекрасен! И даже если будет ЧАС! то это ЧАС ГОДНОТЫ, а не ДОМ2.

  • @tumenit
    @tumenit Жыл бұрын

    Спасибо!

  • @Rammstas1
    @Rammstas1 Жыл бұрын

    Боже ну наконец-то нормально обьяснение с примером. Спасибо большое автору, реально помог понять.

  • @inbuckswetrust7357

    @inbuckswetrust7357

    Жыл бұрын

    объяснение муторное, много воды, а по сути 5 копеек

  • @olesya7232
    @olesya7232 Жыл бұрын

    Cool, thanks

  • @user-gi2te6uy4z
    @user-gi2te6uy4z10 ай бұрын

    Про волка с меркантильной целью смешно получилось)

  • @fed1967
    @fed19672 жыл бұрын

    Подскажите где брать драйвера на видео, сетевую карту, wifi: Xubuntu 16.04 lts, ноут Dell Inspiron 1520(2007 год). Или нужно заказывать индивидуальный фикс у программистов, цена? Сетевая вместо 100 даёт 60 мб/с, wifi вместо 50 даёт 20 мб/с, видео страшно тормозит в goole карта в режиме street view.

  • @expoliemexpoliem6246
    @expoliemexpoliem62462 ай бұрын

    спасибо!

  • @naximchik
    @naximchik2 жыл бұрын

    Спасибо

  • @eney1975
    @eney19752 жыл бұрын

    занятно, почти понятно

  • @hulumulu1108
    @hulumulu11082 жыл бұрын

    хороший подход

  • @user-uq4ix5ie3q
    @user-uq4ix5ie3q2 жыл бұрын

    Благодарность в комментарии!👍🏻

  • @eugene782
    @eugene7822 жыл бұрын

    Абстрактные примеры для новичков всегда хорошы

  • @Virisound

    @Virisound

    2 жыл бұрын

    жи-ши

  • @The1nv1s1bleMan
    @The1nv1s1bleMan Жыл бұрын

    Не понимаю... Для того, что бы узнать, уязвим ли тестируемый сайт, мне необходимо импортировать запрос из дэвтулс в постман (к примеру) и внутри постман в заголовках изменить origin на любой другой сайт, и если данный запрос успешно отправляется, то получается что уязвимость CORS обнаружена и надо составлять баг-репорт?

  • @jaskier6295
    @jaskier6295 Жыл бұрын

    Спасибо хорошее видео, только главный момент я так и не понял, чем эти корсы так опасны. переслушал несколько раз 3:06. Как можно послать ссылку юзеру даже есть нет корса? Корс проверяет чтобы запрос на сервер шёл только с нужных нам доменов. Но ведь все запросы и так валидируются, и если что-то не то пришло на сервер, он в любом случае не позволит, хоть со своего домена хоть с чужого.

  • @kind1y
    @kind1y Жыл бұрын

    Эти nginx-настройки нужно добавлять на сервере апи, куда я делаю запрос (на другой домен)?

  • @tema_skakun
    @tema_skakun11 ай бұрын

    спасибо, мэн)

  • @katerinak5997
    @katerinak5997 Жыл бұрын

    Spasibo aktualno

  • @1ifehappens
    @1ifehappens Жыл бұрын

    Куда прописывать эти команды, подскажите? Извините за тупой вопрос)

  • @user-eq3ph4qc9g
    @user-eq3ph4qc9g5 ай бұрын

    Ничего не понятно, но очень интересно

  • @Memver777
    @Memver7778 ай бұрын

    Класс

  • @user-artifact911
    @user-artifact911 Жыл бұрын

    Про козлятник - Просто ТОП

  • @AndrewLapteff
    @AndrewLapteff Жыл бұрын

    лучший

  • @ioncreciun6110
    @ioncreciun61109 ай бұрын

    Пасиб

  • @user-nm7pj8cp3b
    @user-nm7pj8cp3b2 жыл бұрын

    блин классно

  • @mrdzha9519
    @mrdzha95197 ай бұрын

    ничего не понял, но очень интересно! :)

  • @liko8019
    @liko80192 жыл бұрын

    если у меня нет доступа к серверу, каким образом я мог бы достучаться все равно к нему, например изменив hosts в винде?

  • @denisavramenko6988
    @denisavramenko69882 жыл бұрын

    За козлят - лайк. Интересная интерпритация. ))

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    Благодарю. Стараюсь придумывать что-то необычное. Мне нравится творческий подход, а не слепая теория которую можно в интернете прочитать.

  • @alexandrmoskalev8642
    @alexandrmoskalev86422 жыл бұрын

    про козлят четко зашло! но немного режет ухо, произношение английских слов

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    С разговорным английским туго.

  • @asanzhakizhanov3261
    @asanzhakizhanov3261 Жыл бұрын

    Если я в NGINX server ставлю add header 'Access-Control-Allow-Origin' '*' always - что дает такая запись в настройках NGINX?

  • @MrSirus83
    @MrSirus832 жыл бұрын

    Идея хорошая, чуток теории и практика

  • @Leon-rv2zm
    @Leon-rv2zm2 жыл бұрын

    ничего не понятно, но очень интересно)

  • @not4sure
    @not4sure2 жыл бұрын

    ммм, как сейчас помню, как с ними разбирался. Документация вроде есть, всроде все объяснено, а ни черта не понятно, зачем это все происходит, на чьей стороне контролируется. А видос хороший, хотя довольно минималистичный.

  • @user-islamkaz
    @user-islamkaz Жыл бұрын

    Cors в react тоже нужен?

  • @sergo4220
    @sergo42202 жыл бұрын

    хорошо придумал с козлятами, тему раскрыл полностью. Снимай ещё.

  • @gunfudragon
    @gunfudragon2 жыл бұрын

    Вот только с ним недавно любовью занимался на бэке (

  • @user-fs4yw7eh7y

    @user-fs4yw7eh7y

    2 жыл бұрын

    Я на фронте

  • @viktoryakovenko757
    @viktoryakovenko7572 жыл бұрын

    а XSS подвезут?

  • @TarasovFrontDev
    @TarasovFrontDevАй бұрын

    Очень инетересно, но ничего не понятно xD Нужны нормальные примеры: вот мы отправили, получили ошибку; вот мы дописали заголовок - все сработало.

  • @ProWebCoder2002
    @ProWebCoder20022 жыл бұрын

    Отлично объясняете. Козлятушки, Программистюшки )))😂

  • @user-cx2qr9sn9g
    @user-cx2qr9sn9g2 жыл бұрын

    добрый день. а что такое CORB?

  • @lanfix1320
    @lanfix13202 жыл бұрын

    Не нравятся конфиги приложения, хотя сам добавил домены в конфиг nginx'а ))

  • @polark1677
    @polark16772 жыл бұрын

    Это контроль на стороне браузера, типа браузер не даст вам сделать такой запрос если сервер прислал такие заголовки. Только со стороны браузера это вырубается легче легкого. Например если запустить тот же chrome с ключом --disable-web-security, то все эти корс до жопы.

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    Так это ж для твоей безопасности. Чтобы небыло ситуации которую я описал в видео

  • @polark1677

    @polark1677

    2 жыл бұрын

    @@pavlenkoat Ну да точно. Злоумышленники же никак не смогут отключить безопасность браузера.

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    Ну да.

  • @duoduoo6732
    @duoduoo6732 Жыл бұрын

    CORS-регулятор общения через аякс? А конкретно тогда это стандарт передачи запросов или конкретная библиотека какого то фреймворка?

  • @user-jo6xp8ty1x
    @user-jo6xp8ty1x9 ай бұрын

    Ошенама запутанное объяснение. Но пример с козлятами прикольный

  • @alimzhanshabarov4204
    @alimzhanshabarov42042 жыл бұрын

    2 дня раньше бы выпустил видос)

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    2 дня назад оно ещё небыло готово

  • @pavlenkoat

    @pavlenkoat

    2 жыл бұрын

    О том что я собирался писать данное видео писал в телеграмме канале

  • @ovel87
    @ovel87 Жыл бұрын

    Автор, мне нравится стиль изложения, но html может быть не статичным, а ajax далеко не единственный способ взаимодействия с бекендом.

  • @pavlenkoat

    @pavlenkoat

    Жыл бұрын

    Всё верно. Спасибо.

  • @alterento
    @alterento Жыл бұрын

    ведьмак учит нас web, круто !

  • @Aleksei_Filatov
    @Aleksei_Filatov2 жыл бұрын

    Сказка учит тому, что нефиг пароль передавать в нехешированном виде

  • @404Negative

    @404Negative

    6 ай бұрын

    передавать можешь как угодно, главное чтоб сам канал был зашифрован. а вот хранить только хеш

  • @qstoneqstonovich7636
    @qstoneqstonovich76365 ай бұрын

    like

  • @user-er6ce4il7o
    @user-er6ce4il7o5 күн бұрын

    поняли что сократил про пароль с козлятами, зачем наезжать было :( :)

  • @bogdanroman5100
    @bogdanroman5100 Жыл бұрын

    Куча ссылок для доната и ни одной ссылки на статьи. Так держать Clapping hands emoticon

Келесі