• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Walidacja - po stronie klienta czy serwera?

Object Storage Arubacloud
0 głosów
1,545 wizyt
pytanie zadane 4 października 2017 w PHP przez Blue Obywatel (1,180 p.)
Witam, powiedzmy, że mam formularz rejestracji użytkownika i chcę sprawdzić, czy wprowadzone hasło spełnia jakieś tam warunki. Czy lepiej będzie sprawdzić to po stronie serwera (AJAX), czy może lepiej po stronie klienta (skrypt JavaScriptu reagujący na wysłanie formularza plus walidacja _token po stronie serwera)? Czy mógłby ktoś wyjaśnić, kiedy lepiej stosować pierwszą, a kiedy drugą z tych metod?

1 odpowiedź

+2 głosów
odpowiedź 4 października 2017 przez Comandeer Guru (600,810 p.)
wybrane 4 października 2017 przez Blue
 
Najlepsza
Stosuje się obie naraz. Walidacja po stronie JS-a zapewnia o wiele lepszy UX (user od razu wie, co jest źle), a walidacja po stronie serwera – bezpieczeństwo.
komentarz 4 października 2017 przez Blue Obywatel (1,180 p.)
Dziękuję, mam jeszcze pytanie: czy w przypadku rejestracji walidacja danych po stronie JS-a i walidacja tokena CSRF przez serwer jest wystarczająco bezpieczna, czy może lepiej jeszcze raz dokonać walidacji danych po stronie serwera?
komentarz 4 października 2017 przez Comandeer Guru (600,810 p.)

Zawsze waliduje się dane po stronie serwera. Co za problem zostawić dobry token, ale podstawić złośliwe dane?

komentarz 4 października 2017 przez Blue Obywatel (1,180 p.)
A w jaki sposób można to zrobić?
komentarz 4 października 2017 przez Comandeer Guru (600,810 p.)
Podstawić? Choćby cURL-em.
komentarz 5 października 2017 przez Blue Obywatel (1,180 p.)
Jeszcze dwa pytania:

1) Skoro tak łatwo można podstawić token, to jak w takim razie bronić się przed CSRF?

2) Czy użycie AJAXa daje wystarczające dobry UX, czy może lepiej napisać wstępną walidację w JS?
komentarz 5 października 2017 przez Comandeer Guru (600,810 p.)
ad. 1) Nigdzie nie napisałem o podstawianiu tokena a o podstawianiu złośliwych danych + zostawianiu poprawnego tokena.

ad. 2) Ajax daje pewne opóźnienie, osobiście walidowałbym w samym JS-ie.
komentarz 5 października 2017 przez Blue Obywatel (1,180 p.)
Czy dobrze rozumiem: mogę z mojego komputera wysłać złośliwe dane na serwer wraz z poprawnym tokenem za pomocą cURL, omijając walidację w JS?
komentarz 5 października 2017 przez Comandeer Guru (600,810 p.)
Tak.
komentarz 5 października 2017 przez Blue Obywatel (1,180 p.)
Dziękuję.

Podobne pytania

0 głosów
1 odpowiedź 1,343 wizyt
pytanie zadane 20 lipca 2018 w PHP przez dobre.rece Nowicjusz (200 p.)
0 głosów
2 odpowiedzi 146 wizyt
pytanie zadane 11 listopada 2018 w C i C++ przez jankowa1ski Gaduła (3,560 p.)
+1 głos
1 odpowiedź 492 wizyt
pytanie zadane 10 grudnia 2021 w PHP przez NoteDS Użytkownik (560 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...