• 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?

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
1,684 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 (606,240 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 (606,240 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 (606,240 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 (606,240 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 (606,240 p.)
Tak.
komentarz 5 października 2017 przez Blue Obywatel (1,180 p.)
Dziękuję.

Podobne pytania

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

93,185 zapytań

142,199 odpowiedzi

322,006 komentarzy

62,514 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2127p. - dia-Chann
  2. 2092p. - Łukasz Piwowar
  3. 2079p. - Łukasz Eckert
  4. 2037p. - Tomasz Bielak
  5. 2006p. - rucin93
  6. 2005p. - Łukasz Siedlecki
  7. 1964p. - CC PL
  8. 1835p. - Adrian Wieprzkowicz
  9. 1785p. - Michal Drewniak
  10. 1744p. - rafalszastok
  11. 1684p. - Mikbac
  12. 1624p. - Anonim 3619784
  13. 1520p. - Marcin Putra
  14. 1480p. - ssynowiec
  15. 1365p. - Dawid128
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...