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

Sdílet
Vložit
  • čas přidán 26. 07. 2021
  • Надежный хостинг 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
  • Věda a technologie

Komentáře • 214

  • @1.015
    @1.015 Před 2 lety +18

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

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

    • @1.015
      @1.015 Před 2 lety

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

      Спасибо

    • @SbWereWolf
      @SbWereWolf Před 2 lety

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

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

  • @user-dk4nq2ex5t
    @user-dk4nq2ex5t Před 2 lety +7

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

  • @user-xp9kv8ut7e
    @user-xp9kv8ut7e Před rokem

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

  • @user-jz3on5rd7p
    @user-jz3on5rd7p Před 2 lety +3

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

  • @ivanshka1759
    @ivanshka1759 Před 10 měsíci +1

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

  • @sergeydmitrievsky
    @sergeydmitrievsky Před 2 lety +7

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety +8

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

  • @waltermelon3206
    @waltermelon3206 Před 2 lety

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

  • @vladislavpitsuha
    @vladislavpitsuha Před měsícem

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

  • @Serega5j
    @Serega5j Před rokem +1

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

  • @Dreamer_78
    @Dreamer_78 Před rokem

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

  • @user-qg2yr1wd2e
    @user-qg2yr1wd2e Před 2 lety

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

  • @CreateLifeYT
    @CreateLifeYT Před rokem +1

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

  • @kashasa3150
    @kashasa3150 Před 2 lety

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

  • @mydeviousway
    @mydeviousway Před 2 lety +1

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

  • @artemfedotov30
    @artemfedotov30 Před 9 měsíci

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

  • @user-ki4hu6hl8g
    @user-ki4hu6hl8g Před 6 měsíci

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

  • @alexandershikhov682
    @alexandershikhov682 Před 2 lety

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety +1

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

  • @Zzepish
    @Zzepish Před 2 lety +1

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

  • @user-df8yw6tb1s
    @user-df8yw6tb1s Před 4 měsíci

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

  • @agator10008
    @agator10008 Před 2 lety +2

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

  • @user-wk1vz2zq6f
    @user-wk1vz2zq6f Před 2 lety

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

  • @timursholokh8520
    @timursholokh8520 Před 2 lety +4

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety +2

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

    • @timursholokh8520
      @timursholokh8520 Před 2 lety +1

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

      @@timursholokh8520 Nginx? вот видос czcams.com/video/ixfnxLqcLOs/video.html

  • @sir_damnkrat
    @sir_damnkrat Před 2 lety

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

  • @1.015
    @1.015 Před 2 lety

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

  • @alextektumanidze8455
    @alextektumanidze8455 Před 13 dny

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

  • @p4m3remostone71
    @p4m3remostone71 Před 2 lety +1

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

  • @evgeniybelkovskiy4896

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

  • @MrJet84
    @MrJet84 Před rokem

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

  • @TrumpsOfDesign
    @TrumpsOfDesign Před rokem

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

  • @user-se4gg9sk4b
    @user-se4gg9sk4b Před 4 měsíci

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

  • @user-ro5ii5lj5c
    @user-ro5ii5lj5c Před 9 měsíci

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

  • @Yar1sson
    @Yar1sson Před 2 lety

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

  • @dogober3861
    @dogober3861 Před rokem

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

  • @kirillkalita344
    @kirillkalita344 Před rokem

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

  • @p.v.a.8638
    @p.v.a.8638 Před 3 měsíci

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

  • @eb6006
    @eb6006 Před 2 lety

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

  • @fed1967
    @fed1967 Před 2 lety

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

  • @life8261
    @life8261 Před rokem

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

  • @arthurhovakimyan1146
    @arthurhovakimyan1146 Před 2 lety +2

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

  • @Rammstas1
    @Rammstas1 Před rokem

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

    • @inbuckswetrust7357
      @inbuckswetrust7357 Před rokem +1

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

  • @ci_cd4834
    @ci_cd4834 Před 2 lety

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

  • @user-wm5re5ps5y
    @user-wm5re5ps5y Před 2 lety

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

  • @anatolys9203
    @anatolys9203 Před 2 lety

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

  • @user-zh3bx9kj3m
    @user-zh3bx9kj3m Před 2 lety

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

  • @themichael8767
    @themichael8767 Před rokem

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

  • @The1nv1s1bleMan
    @The1nv1s1bleMan Před rokem

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

  • @astkh4381
    @astkh4381 Před rokem

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

  • @AbcDef-nv7qy
    @AbcDef-nv7qy Před 3 měsíci

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

  • @user-gi2te6uy4z
    @user-gi2te6uy4z Před 10 měsíci

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

  • @mascai
    @mascai Před 2 lety

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

  • @polinaskvorova5369
    @polinaskvorova5369 Před 2 lety +1

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

  • @kind1y
    @kind1y Před rokem

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

  • @meteysh
    @meteysh Před rokem

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

  • @ni55an
    @ni55an Před 2 lety +30

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety +10

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

    • @user-yr3wc6oz2i
      @user-yr3wc6oz2i Před 2 lety +5

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

    • @user-ty7is7qj7u
      @user-ty7is7qj7u Před 2 lety +7

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

    • @ni55an
      @ni55an Před 2 lety +3

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

    • @user-ty7is7qj7u
      @user-ty7is7qj7u Před 2 lety +3

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

  • @asanzhakizhanov3261
    @asanzhakizhanov3261 Před rokem

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

  • @viksench6447
    @viksench6447 Před 2 lety

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

  • @liko8019
    @liko8019 Před 2 lety

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

  • @1ifehappens
    @1ifehappens Před rokem

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

  • @user-uq4ix5ie3q
    @user-uq4ix5ie3q Před 2 lety +1

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

  • @eugene782
    @eugene782 Před 2 lety +3

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

  • @user-artifact911
    @user-artifact911 Před rokem

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

  • @tumenit
    @tumenit Před rokem

    Спасибо!

  • @user-eq3ph4qc9g
    @user-eq3ph4qc9g Před 4 měsíci

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

  • @mrdzha9519
    @mrdzha9519 Před 6 měsíci

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

  • @jaskier6295
    @jaskier6295 Před rokem

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

  • @denisavramenko6988
    @denisavramenko6988 Před 2 lety

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

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

  • @expoliemexpoliem6246
    @expoliemexpoliem6246 Před měsícem

    спасибо!

  • @olesya7232
    @olesya7232 Před rokem

    Cool, thanks

  • @user-islamkaz
    @user-islamkaz Před rokem

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

  • @tema_skakun
    @tema_skakun Před 10 měsíci

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

  • @eney1975
    @eney1975 Před 2 lety +1

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

  • @naximchik
    @naximchik Před 2 lety +1

    Спасибо

  • @MrSirus83
    @MrSirus83 Před 2 lety

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

  • @hulumulu1108
    @hulumulu1108 Před 2 lety

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

  • @katerinak5997
    @katerinak5997 Před rokem

    Spasibo aktualno

  • @intruder70
    @intruder70 Před rokem +14

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

    • @intruder70
      @intruder70 Před 2 měsíci +2

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

    • @shadymindyt
      @shadymindyt Před 2 měsíci

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

    • @intruder70
      @intruder70 Před měsícem

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

  • @sergo4220
    @sergo4220 Před 2 lety

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

  • @viktoryakovenko757
    @viktoryakovenko757 Před 2 lety

    а XSS подвезут?

  • @alexandrmoskalev8642
    @alexandrmoskalev8642 Před 2 lety +2

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety +1

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

  • @Leon-rv2zm
    @Leon-rv2zm Před 2 lety

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

  • @ioncreciun6110
    @ioncreciun6110 Před 8 měsíci

    Пасиб

  • @Memver777
    @Memver777 Před 7 měsíci

    Класс

  • @user-nm7pj8cp3b
    @user-nm7pj8cp3b Před 2 lety

    блин классно

  • @ProWebCoder2002
    @ProWebCoder2002 Před 2 lety

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

  • @AndrewLapteff
    @AndrewLapteff Před rokem

    лучший

  • @user-cx2qr9sn9g
    @user-cx2qr9sn9g Před 2 lety

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

  • @not4sure
    @not4sure Před 2 lety +1

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

  • @duoduoo6732
    @duoduoo6732 Před rokem

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

  • @polark1677
    @polark1677 Před 2 lety +3

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

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

    • @polark1677
      @polark1677 Před 2 lety

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

      Ну да.

  • @lanfix1320
    @lanfix1320 Před 2 lety +1

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

  • @gunfudragon
    @gunfudragon Před 2 lety +3

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

  • @alimzhanshabarov4204
    @alimzhanshabarov4204 Před 2 lety +1

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

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

    • @pavlenkoat
      @pavlenkoat  Před 2 lety

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

  • @TarasovFrontDev
    @TarasovFrontDev Před měsícem

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

  • @user-jo6xp8ty1x
    @user-jo6xp8ty1x Před 8 měsíci

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

  • @ovel87
    @ovel87 Před rokem

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

    • @pavlenkoat
      @pavlenkoat  Před rokem

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

  • @alterento
    @alterento Před rokem

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

  • @qstoneqstonovich7636
    @qstoneqstonovich7636 Před 4 měsíci

    like

  • @Aleksei_Filatov
    @Aleksei_Filatov Před 2 lety +5

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

    • @404Negative
      @404Negative Před 5 měsíci

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

  • @donlinoleum831
    @donlinoleum831 Před rokem

    Сенкс мэн, ю а зе бест.

  • @user-so7ly8rx2f
    @user-so7ly8rx2f Před rokem

    Чёртов ютуб сыпет ошибками CORS в консоль. Могу смотреть только те ролики, которые хранятся на русских серверах. Что делать? У меня пена изо рта скоро пойдёт от злости, раздражает ужасно