Czy korzystasz zarówno z technik sprawdzania poprawności po stronie klienta, jak i po stronie serwera?


Odpowiedzi:


27

Tak i powinieneś.

Zapewnia to natychmiastową informację zwrotną od użytkownika bez marnowania informacji zwrotnych, a jednocześnie chroni przed użytkownikami wyłączającymi JavaScript.

Tak działają formanty sprawdzania poprawności ASP.NET .

Z pewnością nie jest to nadmierna inżynieria, ponieważ używanie jednego bez drugiego ma wady.


8
+1. Nie ma usprawiedliwienia dla braku imo walidacji po stronie serwera.
DBlackborough

11
Po stronie serwera jest konieczna, po stronie klienta wygoda. W aplikacjach internetowych nie można liczyć na weryfikację po stronie klienta.
BillThor

@BillThor - Tak, dokładnie tak
billy.bob

inteligentni użytkownicy mogą zdecydowanie nadużyć Twojej aplikacji, jeśli nie masz weryfikacji po stronie klienta
Umair

6

Jeśli tak, czy to naprawdę konieczne?

Tak.

Czy jesteś ponad inżynierią?

Nie.

Walidacja frontonu może dać natychmiastową informację zwrotną, jeśli jest to bogaty interfejs.

Back-end może być używany przez wiele front-endów. Jest to jedyna walidacja planu rezerwowego tylko w języku HTML (bez javascript).


6

Jednym z pierwszych fundamentów, których nauczyłem się o bezpieczeństwie, było to, że hakerzy nigdy nie użyją twojego interfejsu użytkownika.

Każdą walidację po stronie klienta można zwykle łatwo ominąć w aplikacjach internetowych, jeśli mają one własną lokalną wersję formularza, a następnie przesyłają ją z powrotem na serwer.

Sprawdzanie poprawności po stronie klienta jest świetne, ponieważ poprawia komfort użytkowania i ogranicza niepotrzebne podróże w obie strony na serwer w celu przeprowadzenia weryfikacji.


+1, widziałem wiele przykładów, w których weryfikacja została wykonana całkowicie po stronie klienta
Karl

2

Walidacja po stronie serwera powinna być absolutnym minimum.

W przypadku danych wejściowych, które mogą być nieprawidłowe, należy również dodać kontrolę po stronie klienta.

Na przykład: sprawdź, czy wiadomość e-mail jest poprawnie sformatowana zarówno po stronie klienta, jak i serwera, ale sprawdzenie, czy jest unikalna, może być sprawdzeniem po stronie serwera.


1
„Sprawdzenie, czy jest to niesprzeczne”, NIE jest weryfikacją, więc nie dotyczy. Zrozum różnicę.
billy.bob

2
Czy czytałeś nawet to, co publikujesz? Sprawdzanie, czy adres e-mail jest unikalny, jest sprawdzaniem poprawności. Sprawdzanie, powiedzmy, że adres e-mail i hasło są ważnymi poświadczeniami, to weryfikacja. W każdym razie jest to tylko kwestia terminologii.
Andrea

1

Tak, korzystanie z obu nie jest złym pomysłem. Jeśli po stronie klienta można wykryć proste błędy wprowadzania danych przez użytkownika, warto poinformować użytkownika o tych błędach przed wysłaniem danych i uruchomieniem serwera. Na przykład, jeśli użytkownik wprowadził coś, co nie wygląda jak adres e-mail w polu „e-mail” lub wprowadził ciąg tylko 5 znaków w polu hasła i wiesz, że twoja witryna wymagała hasła o długości co najmniej 6 znaków, to powinieneś poinformować o tym użytkownika przed wysłaniem czegokolwiek na serwer.

Ważne jest również powielenie dokładnie tej samej weryfikacji na serwerze z 2 powodów: 1) co jeśli użytkownik ma wyłączoną obsługę Javascript?

2) Użytkownik złośliwie próbował ominąć weryfikację po stronie klienta, co jest naprawdę łatwe.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.