CORS w pigułce 🔥 działanie i naprawa

  Рет қаралды 9,591

Artur Chmaro

Artur Chmaro

Күн бұрын

Пікірлер: 39
@jcubic
@jcubic 3 жыл бұрын
Trochę nie do końca się zgadzam z definicją CORS. każda przeglądarka blokuje zapytania między różnymi origin, a CORS właśnie umożliwia dzielenie się tymi zasobami a nie blokuje te zasoby. Blokowanie jest w każdej przeglądarce od zawsze (od kiedy wszedł AJAX).
@erykwks
@erykwks 3 жыл бұрын
Więcej takich krótkich materiałów na jeden temat!
@nadzeyamolchan5627
@nadzeyamolchan5627 2 жыл бұрын
"Zobacz ty frontend deweloperze, tutaj wszystko działa..." leże na dechach ze śmiechu! życiowa sytuacja 🤣
@ArturChmaro
@ArturChmaro 2 жыл бұрын
Oj tak, wspomniałem o tym bo sam miałem parę identycznych sytuacji :D
@MrLucki001
@MrLucki001 3 жыл бұрын
WINCYJ takich krotkich acz tresciwych filmikow 😎
@dzienisz
@dzienisz 3 жыл бұрын
Jest to jedno z najczęściej zadawanych przeze mnie pytań rekrutacyjnych ;)
@misiu475
@misiu475 Жыл бұрын
miodzio materiał i już wiem jak laravela naprawić swojego ❤😂
@damianlis6357
@damianlis6357 3 жыл бұрын
Dzięki Artur za proste wyjaśnienie :)
@caro.girlwithflowers
@caro.girlwithflowers Жыл бұрын
Dlaczego gdy ustawiasz jednego origina i credentials na true to zapytanie działa, po czym zmieniasz origina na * , wówczas credentials powoduje błąd (to wyjaśniłeś, dziękuję), po czym ponownie ustawiasz konkretnego origina i ustawiasz credentials na true i już nie działa? cos koło 4:30 ;)
@ArturChmaro
@ArturChmaro Жыл бұрын
W 4:36 wyłączyłem (przez zakomentowanie) header "Allow Credentials" po czym zrobiłem testowe zapytanie z credentials: true. Spowodowało to wyrzucenie błędu. To było zamierzone. Dzieje się tak ponieważ CORS pozwala nam nie tylko na kontrolę które originy są dozwolne, ale właśnie też sposobem w jakim te originy mogą się komunikować. Czasami ze względów bezpieczeństwa zabrania się komunikacji z określonymi headerami lub właśnie bez credentials: true
@msnataliamilk
@msnataliamilk 3 жыл бұрын
fajne wyjaśnienie! 6:30 skoro można wyłączyć politykę cors w przeglądarce to po wyłączeniu można wykonywać już zapytania do innych originów? Jeżeli tak to po co ten cors skoro można go wyłączyć i łatwo go obejść?
@ArturChmaro
@ArturChmaro 3 жыл бұрын
Można samemu u siebie go wyłączyć, ale 99,9% użytkowników internetu i tak ma go domyślnie włączonego w przeglądarce. Wyłączanie cors ma tylko sens przy jakiś developerskich testach. Ciężko mi sobie wyobrazić sytuacje by prosić użytkowników o wyłączenie CORS bo coś nie działa :P
@zbigniewjaryst2873
@zbigniewjaryst2873 3 жыл бұрын
Czy można się spodziewać filmu o credentials oraz http cookies?
@ArturChmaro
@ArturChmaro 3 жыл бұрын
Spróbuję coś zmonotować w wolnym czasie :)
@objectObject212
@objectObject212 3 жыл бұрын
Dzieki! extra materiał
@Sheppard30
@Sheppard30 3 жыл бұрын
Nie powiedziales o najwazniejszym. Jak skoro to bekend wysyla headery ale Ty nie mozesz odpytac bekendu to skad je bierzesz? Warto byloby wspomniec o OPTIONS
@hunger997
@hunger997 3 жыл бұрын
Czy dobrze rozumiem, że jeśli tylko backend nie 'zezwala wszystkim', to domyślne zachowanie przeglądarki eliminuje z automatu ryzyko CSRF?
@ArturChmaro
@ArturChmaro 3 жыл бұрын
Generalnie tak, ale trzeba to trochę uściślić. Przeglądarka nie eliminuje Ci całkowicie ryzyka CSRF. Jak komuś uda się zforgować zapytanie HTTP na ten sam origin to przeglądarka nie pomoże (np przy podatności XSS w Twojej apce). Warto więc też dodatkowo stosować tokeny CSRF w formularzach. Przeglądarka eliminuje ryzyko CSRF do obcego/innego originu jeżeli ten jest prawidłowo skonfigurowany.
@wotan91
@wotan91 3 жыл бұрын
Masz ode mnie subskrypcje, ale na przyszłość ograniczyłbym wstęp i "dowcipy", bo film zaczyna się od 1:00.
@ArturChmaro
@ArturChmaro 3 жыл бұрын
Popracuje nad dowcipami albo wstępami 😅
@grzegorzpaprzycki846
@grzegorzpaprzycki846 3 жыл бұрын
Dzięki wielkie :)
@krystian.frydryk
@krystian.frydryk 3 жыл бұрын
zauważyłem, że błąd cors'ow jest pomiędzy frontend-backend lub frontend-frontend. A jeśli jest zapytanie backend-backend to corsy wtedy nie działają, czy jak? I wtedy nawet jak jest podany Allow Origin (inny niż nasz backend oczywiście) to zapytanie nadal jest zezwalane/wykonywane ;/
@ArturChmaro
@ArturChmaro 3 жыл бұрын
CORS działa tylko w przeglądarce, w momencie gdy mamy zapytanie między jednym originem a drugim. Dlaczego tylko w przeglądarce? Bo przeglądarka ma mechanizm który sprawdza nagłówki cors. Jak masz zapytanie backend- backend albo korzystasz z CURL to tam to nie jest w żaden sposób sprawdzane 🙂
@goodcode6430
@goodcode6430 2 жыл бұрын
Dzięki za pomoc
@chromek9812
@chromek9812 3 жыл бұрын
Wartościowy materiał to też komentarz dla zasięgów jest :D
@lukilapaj
@lukilapaj 3 жыл бұрын
Czy da się rozwiązać problem z zewnętrznym API które ma "źle" ustawionego CORSa w wersji produkcyjnej aplikacji? Dodatek do przeglądarki średnio jest rozwiązaniem w takiej sytuacji.
@ArturChmaro
@ArturChmaro 3 жыл бұрын
Tylko po stronie API możesz to rozwiązać. Nie ma innej możliwości
@IpatrykPl
@IpatrykPl 3 жыл бұрын
Jest inna możliwość. Można zrobić proxy dla API zewnętrznego
@lukilapaj
@lukilapaj 3 жыл бұрын
@@IpatrykPl niby tak, tylko wydaje się to średnio produkcyjne rozwiązanie, chyba, że już naprawdę nie ma innej opcji to akurat o tym wiem.
@ArturChmaro
@ArturChmaro 3 жыл бұрын
@@IpatrykPl oczywiście też można tak zrobić, ale traktowałbym to naprawdę jako ostateczność. Nie spotkałem się jeszcze z sytuacją aby nie dało się ustawić corsow i dogadać z innym zespołem / klientem by to skonfigurowali. Proxy to dodatkowy element którym musisz zarządzać (maintenance, monitoring, aktualizacja, ujęcie w procesie deploya). Lepiej sobie nie dokładać takich zmartwień 🙂
@IpatrykPl
@IpatrykPl 3 жыл бұрын
@@ArturChmaro tak, masz rację. To ostateczność, ale czasami konieczność
@DRM404
@DRM404 3 жыл бұрын
Super :)
@count_of_pizza
@count_of_pizza 3 жыл бұрын
Czy Docker eliminuje takie problemy z defaultu?
@ArturChmaro
@ArturChmaro 3 жыл бұрын
Docker nie ma tutaj nic do rzeczy 🙂 W dockerze możesz odpalić kontener z aplikacja backendowa np nodejs albo django i tam konfigurujesz kwestie związane z cors
@hunger997
@hunger997 3 жыл бұрын
I wszystko jasne.
@mk_games_official
@mk_games_official 3 жыл бұрын
oj jak to mnie... ***. Na szczęście są skróty do chroma pozwalające to wyłączyć.. tzn uruchomić skrót bez Corsa
@miauuuuofcat4535
@miauuuuofcat4535 3 жыл бұрын
Film jest długi a CORS to w zasadzie prosty mechanizm. Dzięki CORS możemy wykonywać zapytania z innego ORIGIN’A na serwer http. W tym celu stosujemy header Acess-Control-Allow-Origin: origin=adress URL z którego się możemy się łączyć z serwerem http (przez API) / * (wildcard) akceptuje zapytania ze wszystkich originów
@kubaleman3440
@kubaleman3440 3 жыл бұрын
developerką xD dajcie spokój z tą Waszą śmieszną poprawnością
@ArturChmaro
@ArturChmaro 3 жыл бұрын
Daleko mi do śmiesznej poprawności 😉
Jak działa async/await w JavaScript?
13:31
Przeprogramowani
Рет қаралды 6 М.
React Proxy | Easiest Fix to CORS Errors
15:52
Sam Meech-Ward
Рет қаралды 96 М.
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН
Try this prank with your friends 😂 @karina-kola
00:18
Andrey Grechka
Рет қаралды 9 МЛН
黑天使只对C罗有感觉#short #angel #clown
00:39
Super Beauty team
Рет қаралды 36 МЛН
I Hate CORS.
7:52
Theo - t3․gg
Рет қаралды 75 М.
CSRF and CORS Explained
8:11
Tejas Kumar
Рет қаралды 6 М.
CORS: Pakt między backend a frontend!
11:44
JavaSenior
Рет қаралды 3,9 М.
Vite Crash Course | Faster Alternative To CRA
16:24
Traversy Media
Рет қаралды 222 М.
Cross-Site Request Forgery (CSRF) Explained
14:11
PwnFunction
Рет қаралды 475 М.
What is CORS?
13:22
A shot of code
Рет қаралды 69 М.
.NET 8  .🚀🔥:  Understanding CORS with ASP.NET
14:06
Mohamad Lawand
Рет қаралды 11 М.
JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue
12:35
Ethical Hacking in 100 Seconds // And why do we need CORS?
11:05
Что такое CORS и зачем он нужен? По простому
8:15
Мир IT с Антоном Павленко
Рет қаралды 64 М.
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН