Czy używasz technik walidacji zarówno po stronie klienta, jak i po stronie serwera, podczas sprawdzania poprawności danych wejściowych od użytkownika, np. Za pomocą formularza kontaktowego?
Jeśli tak, czy to naprawdę konieczne? Czy jesteś ponad inżynierią?
web-development
validation
TeaDrinkingGeek
źródło
źródło
Odpowiedzi:
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.
źródło
Tak.
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).
źródło
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.
źródło
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.
źródło
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.
źródło