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

Поділитися
Вставка
  • Опубліковано 21 сер 2024
  • Надежный хостинг FirstVDS! Переходи по ссылке и получай скидку 25% на первый месяц на любой тариф firstvds.ru/s/...
    Что такое 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/pavl...
    ★ Яндекс.Деньги: money.yandex.r...
    ★ www.donational...
    ★ www.tinkoff.ru...
    КОНТАКТЫ:
    ✦ Канал в 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

КОМЕНТАРІ • 218

  • @1.015
    @1.015 3 роки тому +28

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому

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

    • @1.015
      @1.015 3 роки тому

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому

      Спасибо

    • @SbWereWolf
      @SbWereWolf 3 роки тому

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому

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

  • @intruder70
    @intruder70 Рік тому +19

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

    • @intruder70
      @intruder70 5 місяців тому +8

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

    • @shadymindyt
      @shadymindyt 4 місяці тому

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

    • @intruder70
      @intruder70 3 місяці тому

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

  • @sergeydmitrievsky
    @sergeydmitrievsky 3 роки тому +8

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому +10

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

  • @ivanshka1759
    @ivanshka1759 Рік тому +2

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

  • @user-dk4nq2ex5t
    @user-dk4nq2ex5t 3 роки тому +7

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

  • @timursholokh8520
    @timursholokh8520 3 роки тому +4

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому +3

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

    • @timursholokh8520
      @timursholokh8520 3 роки тому +1

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому

      @@timursholokh8520 Nginx? вот видос ua-cam.com/video/ixfnxLqcLOs/v-deo.html

  • @user-jz3on5rd7p
    @user-jz3on5rd7p 2 роки тому +3

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

  • @vladislavpitsuha
    @vladislavpitsuha 3 місяці тому

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

  • @ni55an
    @ni55an 3 роки тому +30

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому +10

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

    • @user-yr3wc6oz2i
      @user-yr3wc6oz2i 3 роки тому +5

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

    • @voidmain90
      @voidmain90 3 роки тому +7

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

    • @ni55an
      @ni55an 3 роки тому +3

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

    • @voidmain90
      @voidmain90 3 роки тому +3

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

  • @user-ki4hu6hl8g
    @user-ki4hu6hl8g 8 місяців тому

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

  • @user-xp9kv8ut7e
    @user-xp9kv8ut7e Рік тому

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

  • @Serega5j
    @Serega5j Рік тому +1

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

  • @user-se4gg9sk4b
    @user-se4gg9sk4b 6 місяців тому

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

  • @CreateLifeYT
    @CreateLifeYT Рік тому +1

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

  • @agator10008
    @agator10008 3 роки тому +2

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

  • @user-df8yw6tb1s
    @user-df8yw6tb1s 6 місяців тому

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

  • @alextektumanidze8455
    @alextektumanidze8455 2 місяці тому

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

  • @p.v.a.8638
    @p.v.a.8638 5 місяців тому

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

  • @waltermelon3206
    @waltermelon3206 3 роки тому

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

  • @mydeviousway
    @mydeviousway 3 роки тому +1

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

  • @p4m3remostone71
    @p4m3remostone71 3 роки тому +1

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

  • @Dreamer_78
    @Dreamer_78 Рік тому

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

  • @Zzepish
    @Zzepish 3 роки тому +1

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

  • @artemfedotov30
    @artemfedotov30 11 місяців тому

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

  • @user-wk1vz2zq6f
    @user-wk1vz2zq6f 2 роки тому

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

  • @kashasa3150
    @kashasa3150 3 роки тому

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

  • @MrJet84
    @MrJet84 Рік тому

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

  • @arthurhovakimyan1146
    @arthurhovakimyan1146 3 роки тому +2

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

  • @user-qg2yr1wd2e
    @user-qg2yr1wd2e 3 роки тому

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

  • @AbcDef-nv7qy
    @AbcDef-nv7qy 6 місяців тому

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

  • @evgeniybelkovskiy4896
    @evgeniybelkovskiy4896 2 роки тому

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

  • @user-ro5ii5lj5c
    @user-ro5ii5lj5c Рік тому

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

  • @TrumpsOfDesign
    @TrumpsOfDesign Рік тому

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

  • @eugene782
    @eugene782 3 роки тому +3

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

  • @ci_cd4834
    @ci_cd4834 3 роки тому

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

  • @sir_damnkrat
    @sir_damnkrat 2 роки тому

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

  • @kirillkalita344
    @kirillkalita344 2 роки тому

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

  • @astkh4381
    @astkh4381 Рік тому

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

  • @life8261
    @life8261 Рік тому

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

  • @Rammstas1
    @Rammstas1 Рік тому

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

    • @inbuckswetrust7357
      @inbuckswetrust7357 Рік тому +1

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

  • @dogober3861
    @dogober3861 2 роки тому

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

  • @Yar1sson
    @Yar1sson 2 роки тому

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

  • @1.015
    @1.015 3 роки тому

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

  • @user-go7li3rj4d
    @user-go7li3rj4d 12 днів тому

    круто, спасибо

  • @alexandershikhov682
    @alexandershikhov682 2 роки тому

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

    • @pavlenkoat
      @pavlenkoat  2 роки тому +1

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

  • @user-wm5re5ps5y
    @user-wm5re5ps5y 2 роки тому

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

  • @themichael8767
    @themichael8767 Рік тому

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

  • @gyros9162
    @gyros9162 6 місяців тому

    Спасибо!

  • @polinaskvorova5369
    @polinaskvorova5369 3 роки тому +1

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

  • @user-artifact911
    @user-artifact911 2 роки тому

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

  • @polark1677
    @polark1677 3 роки тому +4

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому

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

    • @polark1677
      @polark1677 3 роки тому

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому

      Ну да.

  • @mascai
    @mascai 2 роки тому

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

  • @eb6006
    @eb6006 2 роки тому

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

  • @viksench6447
    @viksench6447 2 роки тому

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

  • @alexandrmoskalev8642
    @alexandrmoskalev8642 3 роки тому +2

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому +1

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

  • @user-uq4ix5ie3q
    @user-uq4ix5ie3q 3 роки тому +1

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

  • @meteysh
    @meteysh Рік тому

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

  • @user-eq3ph4qc9g
    @user-eq3ph4qc9g 7 місяців тому

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

  • @tema_skakun
    @tema_skakun Рік тому

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

  • @user-zh3bx9kj3m
    @user-zh3bx9kj3m 2 роки тому

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

  • @anatolys9203
    @anatolys9203 2 роки тому

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

  • @AndrewLapteff
    @AndrewLapteff Рік тому

    лучший

  • @user-gi2te6uy4z
    @user-gi2te6uy4z Рік тому

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

  • @mrdzha9519
    @mrdzha9519 8 місяців тому

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

  • @expoliemexpoliem6246
    @expoliemexpoliem6246 3 місяці тому

    спасибо!

  • @katerinak5997
    @katerinak5997 Рік тому

    Spasibo aktualno

  • @Memver777
    @Memver777 10 місяців тому

    Класс

  • @olesya7232
    @olesya7232 Рік тому

    Cool, thanks

  • @eney1975
    @eney1975 3 роки тому +1

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

  • @naximchik
    @naximchik 3 роки тому +1

    Спасибо

  • @Aleksei_Filatov
    @Aleksei_Filatov 3 роки тому +6

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

    • @404Negative
      @404Negative 7 місяців тому

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

  • @denisavramenko6988
    @denisavramenko6988 3 роки тому

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому

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

  • @gunfudragon
    @gunfudragon 3 роки тому +3

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

  • @1ifehappens
    @1ifehappens Рік тому

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

  • @not4sure
    @not4sure 3 роки тому +1

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

  • @sergo4220
    @sergo4220 2 роки тому

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

  • @Alex123Ax-r3f
    @Alex123Ax-r3f 3 роки тому

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

  • @The1nv1s1bleMan
    @The1nv1s1bleMan Рік тому

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

  • @hulumulu1108
    @hulumulu1108 2 роки тому

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

  • @ihorkovryhin1767
    @ihorkovryhin1767 10 місяців тому +1

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

  • @ioncreciun6110
    @ioncreciun6110 10 місяців тому

    Пасиб

  • @kind1y
    @kind1y 2 роки тому

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

  • @jaskier6295
    @jaskier6295 Рік тому

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

  • @MrSirus83
    @MrSirus83 2 роки тому

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

  • @duoduoo6732
    @duoduoo6732 Рік тому

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

  • @alimzhanshabarov4204
    @alimzhanshabarov4204 3 роки тому +1

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому

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

    • @pavlenkoat
      @pavlenkoat  3 роки тому

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

  • @user-nm7pj8cp3b
    @user-nm7pj8cp3b 2 роки тому

    блин классно

  • @TarasovFrontDev
    @TarasovFrontDev 3 місяці тому

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

  • @liko8019
    @liko8019 2 роки тому

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

  • @Leon-rv2zm
    @Leon-rv2zm 2 роки тому

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

  • @ProWebCoder2002
    @ProWebCoder2002 2 роки тому

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

  • @asanzhakizhanov3261
    @asanzhakizhanov3261 Рік тому

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

  • @lanfix1320
    @lanfix1320 3 роки тому +1

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

  • @alterento
    @alterento Рік тому

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

  • @user-jo6xp8ty1x
    @user-jo6xp8ty1x 11 місяців тому

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

  • @donlinoleum831
    @donlinoleum831 Рік тому

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

  • @user-er6ce4il7o
    @user-er6ce4il7o Місяць тому

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

  • @user-islamkaz
    @user-islamkaz Рік тому

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

  • @qstoneqstonovich7636
    @qstoneqstonovich7636 6 місяців тому

    like

  • @ovel87
    @ovel87 2 роки тому

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

    • @pavlenkoat
      @pavlenkoat  2 роки тому

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