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).
@erykwks3 жыл бұрын
Więcej takich krótkich materiałów na jeden temat!
@nadzeyamolchan56272 жыл бұрын
"Zobacz ty frontend deweloperze, tutaj wszystko działa..." leże na dechach ze śmiechu! życiowa sytuacja 🤣
@ArturChmaro2 жыл бұрын
Oj tak, wspomniałem o tym bo sam miałem parę identycznych sytuacji :D
@MrLucki0013 жыл бұрын
WINCYJ takich krotkich acz tresciwych filmikow 😎
@dzienisz3 жыл бұрын
Jest to jedno z najczęściej zadawanych przeze mnie pytań rekrutacyjnych ;)
@misiu475 Жыл бұрын
miodzio materiał i już wiem jak laravela naprawić swojego ❤😂
@damianlis63573 жыл бұрын
Dzięki Artur za proste wyjaśnienie :)
@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 Жыл бұрын
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
@msnataliamilk3 жыл бұрын
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ść?
@ArturChmaro3 жыл бұрын
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
@zbigniewjaryst28733 жыл бұрын
Czy można się spodziewać filmu o credentials oraz http cookies?
@ArturChmaro3 жыл бұрын
Spróbuję coś zmonotować w wolnym czasie :)
@objectObject2123 жыл бұрын
Dzieki! extra materiał
@Sheppard303 жыл бұрын
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
@hunger9973 жыл бұрын
Czy dobrze rozumiem, że jeśli tylko backend nie 'zezwala wszystkim', to domyślne zachowanie przeglądarki eliminuje z automatu ryzyko CSRF?
@ArturChmaro3 жыл бұрын
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.
@wotan913 жыл бұрын
Masz ode mnie subskrypcje, ale na przyszłość ograniczyłbym wstęp i "dowcipy", bo film zaczyna się od 1:00.
@ArturChmaro3 жыл бұрын
Popracuje nad dowcipami albo wstępami 😅
@grzegorzpaprzycki8463 жыл бұрын
Dzięki wielkie :)
@krystian.frydryk3 жыл бұрын
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 ;/
@ArturChmaro3 жыл бұрын
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 🙂
@goodcode64302 жыл бұрын
Dzięki za pomoc
@chromek98123 жыл бұрын
Wartościowy materiał to też komentarz dla zasięgów jest :D
@lukilapaj3 жыл бұрын
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.
@ArturChmaro3 жыл бұрын
Tylko po stronie API możesz to rozwiązać. Nie ma innej możliwości
@IpatrykPl3 жыл бұрын
Jest inna możliwość. Można zrobić proxy dla API zewnętrznego
@lukilapaj3 жыл бұрын
@@IpatrykPl niby tak, tylko wydaje się to średnio produkcyjne rozwiązanie, chyba, że już naprawdę nie ma innej opcji to akurat o tym wiem.
@ArturChmaro3 жыл бұрын
@@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ń 🙂
@IpatrykPl3 жыл бұрын
@@ArturChmaro tak, masz rację. To ostateczność, ale czasami konieczność
@DRM4043 жыл бұрын
Super :)
@count_of_pizza3 жыл бұрын
Czy Docker eliminuje takie problemy z defaultu?
@ArturChmaro3 жыл бұрын
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
@hunger9973 жыл бұрын
I wszystko jasne.
@mk_games_official3 жыл бұрын
oj jak to mnie... ***. Na szczęście są skróty do chroma pozwalające to wyłączyć.. tzn uruchomić skrót bez Corsa
@miauuuuofcat45353 жыл бұрын
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
@kubaleman34403 жыл бұрын
developerką xD dajcie spokój z tą Waszą śmieszną poprawnością