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

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ม.ค. 2025

ความคิดเห็น • 224

  • @1.015
    @1.015 3 ปีที่แล้ว +40

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว +1

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

    • @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 не знаю, а знакомые фронтендеры были заняты. Сожалею об этом, но сроки поджимали.

  • @ivanshka1759
    @ivanshka1759 ปีที่แล้ว +3

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

  • @ni55an
    @ni55an 3 ปีที่แล้ว +32

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว +10

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

    • @АлексейНехаев-б4м
      @АлексейНехаев-б4м 3 ปีที่แล้ว +5

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

    • @voidmain90
      @voidmain90 3 ปีที่แล้ว +7

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

    • @ni55an
      @ni55an 3 ปีที่แล้ว +3

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

    • @voidmain90
      @voidmain90 3 ปีที่แล้ว +3

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

  • @intruder70
    @intruder70 ปีที่แล้ว +33

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

    • @intruder70
      @intruder70 9 หลายเดือนก่อน +12

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

    • @shadymindyt
      @shadymindyt 9 หลายเดือนก่อน

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

    • @intruder70
      @intruder70 8 หลายเดือนก่อน

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

    • @riodejaneiro8491
      @riodejaneiro8491 4 หลายเดือนก่อน

      Вот тоже не понимаю, зачем вообще эта тема с сказкой и аналогией, неужели так тяжело просто объяснить как все работает как оно есть а после показать реальный пример

  • @VasilyVorontsov-d1x
    @VasilyVorontsov-d1x 3 ปีที่แล้ว +3

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

  • @sergeydmitrievsky
    @sergeydmitrievsky 3 ปีที่แล้ว +8

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว +10

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

  • @Павел-р2ь6х
    @Павел-р2ь6х 2 ปีที่แล้ว

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

  • @timursholokh8520
    @timursholokh8520 3 ปีที่แล้ว +4

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว +3

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

    • @timursholokh8520
      @timursholokh8520 3 ปีที่แล้ว +1

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว

      @@timursholokh8520 Nginx? вот видос th-cam.com/video/ixfnxLqcLOs/w-d-xo.html

  • @vladislavpitsuha
    @vladislavpitsuha 8 หลายเดือนก่อน

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

  • @ЕвгенийБусел-т1г
    @ЕвгенийБусел-т1г 3 ปีที่แล้ว +7

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

  • @Александр-с1ю2ц
    @Александр-с1ю2ц ปีที่แล้ว

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

  • @evgeniybelkovskiy4896
    @evgeniybelkovskiy4896 2 ปีที่แล้ว

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

  • @UnknownUnknown-v8k
    @UnknownUnknown-v8k 11 หลายเดือนก่อน

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

  • @TarasovFrontDev
    @TarasovFrontDev 8 หลายเดือนก่อน +3

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

  • @Serega5j
    @Serega5j 2 ปีที่แล้ว +1

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

  • @Dreamer_78
    @Dreamer_78 2 ปีที่แล้ว

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

  • @1ifehappens
    @1ifehappens 2 ปีที่แล้ว

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

  • @VUNCVGxyMFFrS3
    @VUNCVGxyMFFrS3 ปีที่แล้ว

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

  • @MrSunTrope
    @MrSunTrope 15 วันที่ผ่านมา

    А как найти видео где рассказываается про заголовки в nginx?

  • @MrJet84
    @MrJet84 2 ปีที่แล้ว

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

  • @alextektumanidze8455
    @alextektumanidze8455 7 หลายเดือนก่อน

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

  • @Zzepish
    @Zzepish 3 ปีที่แล้ว +1

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

  • @ЮлияВыборнова-б4р
    @ЮлияВыборнова-б4р ปีที่แล้ว

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

  • @CreateLifeYT
    @CreateLifeYT 2 ปีที่แล้ว +1

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

  • @p4m3remostone71
    @p4m3remostone71 3 ปีที่แล้ว +1

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

  • @ТимурМуратов-ж7ж
    @ТимурМуратов-ж7ж 2 ปีที่แล้ว

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

  • @jaskier6295
    @jaskier6295 2 ปีที่แล้ว

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

  • @ЛукаМудищев-ъ1ж
    @ЛукаМудищев-ъ1ж หลายเดือนก่อน

    Как заставить браузер отправлять заголовок "Origin"? Через cURL получается это сделать, а вот браузер отказывается отправлять заголовк для простого GET запроса.

  • @MrRomanvideo
    @MrRomanvideo 4 หลายเดือนก่อน

    Так а что мешает волку взять этот origin header с нашего сайта?

  • @dogober3861
    @dogober3861 2 ปีที่แล้ว

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

  • @mydeviousway
    @mydeviousway 3 ปีที่แล้ว +1

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

  • @user-uq4ix5ie3q
    @user-uq4ix5ie3q 3 ปีที่แล้ว +1

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

  • @user-islamkaz
    @user-islamkaz 2 ปีที่แล้ว

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

  • @kirillkalita344
    @kirillkalita344 2 ปีที่แล้ว

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

  • @themichael8767
    @themichael8767 ปีที่แล้ว

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

  • @kind1y
    @kind1y 2 ปีที่แล้ว

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

  • @agator10008
    @agator10008 3 ปีที่แล้ว +2

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

  • @meteysh
    @meteysh ปีที่แล้ว

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

  • @life8261
    @life8261 ปีที่แล้ว

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

  • @Yar1sson
    @Yar1sson 2 ปีที่แล้ว

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

  • @mascai
    @mascai 2 ปีที่แล้ว

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

  • @НикитаСологуб-щ3ц
    @НикитаСологуб-щ3ц 11 หลายเดือนก่อน

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

  • @RuslanTrushov
    @RuslanTrushov 3 ปีที่แล้ว

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

  • @waltermelon3206
    @waltermelon3206 3 ปีที่แล้ว

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

  • @kashasa3150
    @kashasa3150 3 ปีที่แล้ว

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

  • @p.v.a.8638
    @p.v.a.8638 10 หลายเดือนก่อน

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

  • @sir_damnkrat
    @sir_damnkrat 3 ปีที่แล้ว

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

  • @МаксимВавилкин-у9ж
    @МаксимВавилкин-у9ж 2 ปีที่แล้ว

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

  • @duoduoo6732
    @duoduoo6732 ปีที่แล้ว

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

  • @astkh4381
    @astkh4381 ปีที่แล้ว

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

  • @arthurhovakimyan1146
    @arthurhovakimyan1146 3 ปีที่แล้ว +2

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

  • @eb6006
    @eb6006 2 ปีที่แล้ว

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

  • @asanzhakizhanov3261
    @asanzhakizhanov3261 2 ปีที่แล้ว

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

  • @1.015
    @1.015 3 ปีที่แล้ว

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

  • @AbcDef-nv7qy
    @AbcDef-nv7qy 11 หลายเดือนก่อน

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

  • @grin888
    @grin888 4 วันที่ผ่านมา

    1:05 Ха... Решил применить паттерн "Мост" для объяснения
    В этом паттерне есть абстрактная часть (объяснить cors)
    И так называемый реализатор (из каких именно шагов состоит это абстрактное понятие: объяснить cors)

  • @The1nv1s1bleMan
    @The1nv1s1bleMan ปีที่แล้ว

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

  • @TrumpsOfDesign
    @TrumpsOfDesign ปีที่แล้ว

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

  • @ci_cd4834
    @ci_cd4834 3 ปีที่แล้ว

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

  • @polinaskvorova5369
    @polinaskvorova5369 3 ปีที่แล้ว +1

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

  • @МихаилЕфимов-р7л
    @МихаилЕфимов-р7л ปีที่แล้ว

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

  • @liko8019
    @liko8019 2 ปีที่แล้ว

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

  • @viktoryakovenko757
    @viktoryakovenko757 3 ปีที่แล้ว

    а XSS подвезут?

  • @anatolys9203
    @anatolys9203 2 ปีที่แล้ว

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

  • @polark1677
    @polark1677 3 ปีที่แล้ว +4

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว

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

    • @polark1677
      @polark1677 3 ปีที่แล้ว

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว

      Ну да.

  • @alexandrrovich
    @alexandrrovich 14 ชั่วโมงที่ผ่านมา

    Хорошо, что вы все объяснили, плохо, что я ничего не понял

  • @viksench6447
    @viksench6447 2 ปีที่แล้ว

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

  • @alexandershikhov682
    @alexandershikhov682 3 ปีที่แล้ว

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว +1

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

  • @user-artifact911
    @user-artifact911 2 ปีที่แล้ว

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

  • @ВатквизДеСад
    @ВатквизДеСад 3 ปีที่แล้ว

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

  • @СергейНикольский-в2о
    @СергейНикольский-в2о 2 ปีที่แล้ว

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

  • @Rammstas1
    @Rammstas1 2 ปีที่แล้ว

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

    • @inbuckswetrust7357
      @inbuckswetrust7357 2 ปีที่แล้ว +1

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

  • @eugene782
    @eugene782 3 ปีที่แล้ว +3

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

    • @Virisound
      @Virisound 2 ปีที่แล้ว +1

      жи-ши

  • @Alex123Ax-r3f
    @Alex123Ax-r3f 3 ปีที่แล้ว

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

  • @eney1975
    @eney1975 3 ปีที่แล้ว +1

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

  • @СергейСаввин-ы2щ
    @СергейСаввин-ы2щ 5 หลายเดือนก่อน

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

  • @alexandrmoskalev8642
    @alexandrmoskalev8642 3 ปีที่แล้ว +2

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว +1

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

  • @naximchik
    @naximchik 3 ปีที่แล้ว +1

    Спасибо

  • @denisavramenko6988
    @denisavramenko6988 3 ปีที่แล้ว

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว

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

  • @ДмитрийЛукьяненко-ь9ы
    @ДмитрийЛукьяненко-ь9ы 11 หลายเดือนก่อน

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

  • @not4sure
    @not4sure 3 ปีที่แล้ว +1

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

  • @expoliemexpoliem6246
    @expoliemexpoliem6246 8 หลายเดือนก่อน

    спасибо!

  • @mrdzha9519
    @mrdzha9519 ปีที่แล้ว

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

  • @Storytelless
    @Storytelless 3 ปีที่แล้ว

    Спасибо!

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว

      Пожалуйста

  • @katerinak5997
    @katerinak5997 ปีที่แล้ว

    Spasibo aktualno

  • @gunfudragon
    @gunfudragon 3 ปีที่แล้ว +3

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

    • @NurCamedy
      @NurCamedy 3 ปีที่แล้ว

      Я на фронте

  • @olesya7232
    @olesya7232 2 ปีที่แล้ว

    Cool, thanks

  • @tema_skakun
    @tema_skakun ปีที่แล้ว

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

  • @hulumulu1108
    @hulumulu1108 2 ปีที่แล้ว

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

  • @lanfix1320
    @lanfix1320 3 ปีที่แล้ว +1

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

  • @sergo4220
    @sergo4220 3 ปีที่แล้ว

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

  • @MrSirus83
    @MrSirus83 3 ปีที่แล้ว

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

  • @ovel87
    @ovel87 2 ปีที่แล้ว

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

    • @pavlenkoat
      @pavlenkoat  2 ปีที่แล้ว

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

  • @Aleksei_Filatov
    @Aleksei_Filatov 3 ปีที่แล้ว +7

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

    • @404Negative
      @404Negative ปีที่แล้ว

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

  • @Leon-rv2zm
    @Leon-rv2zm 3 ปีที่แล้ว

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

  • @ProWebCoder2002
    @ProWebCoder2002 2 ปีที่แล้ว

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

  • @alimzhanshabarov4204
    @alimzhanshabarov4204 3 ปีที่แล้ว +1

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว

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

    • @pavlenkoat
      @pavlenkoat  3 ปีที่แล้ว

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

  • @RelentlessRage
    @RelentlessRage 2 ปีที่แล้ว

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

  • @Memver777
    @Memver777 ปีที่แล้ว

    Класс

  • @ioncreciun6110
    @ioncreciun6110 ปีที่แล้ว

    Пасиб