Jak zwalidować formularz


(Piotrswiniarski87) #1

Witam

Pisze skrypt który będzie mi walidował formularz z takimi danymi

-login

-email

-hasło

-powtórz hasło

-imię

-nazwisko

-akceptacja regulamin

napisałem na razie sprawdzanie dla takich rzeczy

-czy login jest dostępny

-czy login zawiera tylko litery(bez polskich znaków) cyfry i znaki( _ . -)

-poprawności email

-czy wprowadzone hasła są takie same

-hasło musi być inne od loginu

-poprawności imienia

-poprawności nazwiska

-czy regulamin jest zaakceptowany

muszę jeszcze do niektórych rzeczy dorzucić sprawdzanie czy niektóre rzeczy nie są za długie lub za krótkie.

I tu jest teraz moje pytanie, co jeszcze powinienem poddać walidacji aby dopuścić do rejestracji użytkownika??


(M@ster) #2

Minimalna długość hasła przychodzi mi jedynie już tylko na myśl. Można ew. wymusić że musi zawierać co najmniej jedną literę i cyfrę, jednak czasami takie coś jest frustrujące.


(Dawid Deja) #3

Muszę się zgodzić z przedmówcą:slight_smile:

Jak mi formularz rejestracji 2 razy zwraca błąd, bo jego wymagania są wyższe niż moje zawiłe przemyślenia nad hasłem lub innym polem to po prostu taką rejestracje olewam.

Nie lubię jak się mnie zmusza do wymyślania grom wie czego "w trosce o moje bezpieczeństwo".

Jak ktoś chce zabezpieczyć moje dane to niech to robi bez mojej ingerencji.

I chyba z większą przychylnością spotkałby się system, który przyznaje dostęp do konta czasowo (hasło z datą wygaśnięcia - już widziałem takie rozwiązania), i mailowo przypomnienie o konieczności zmiany hasła.

Można też pomyśleć nad modem do generacji hasła w oknie rejestracji - cPanel posiada taką zabawkę, też bardzo fajne.


(ra-v) #4

Na ale moment - chcecie mieć proste hasło? a jak się pomylicie w emalu (np przecinek zamiast kropki)? Walidacja musi być.

Z tym że oprócz normalnej rejestracji warto by było zrobić to co pisze @ddeja - czyli tymczasowy login czy coś. Całkowicie popieram.


(kostek135) #5

Jeśli długość przesyłanego string'a może być sprawdzana po stronie serwera to proponuje strlen(); i w efekcie sprawdzić czy ilość znaków jest większa czy mniejsza + wyświetlić ewentualny błąd.


(ra-v) #6

@kostek135 - no ale np. hasło 8 literowe może być uznane za mało bezpieczne, np. popularne hasło z góry na dół "1qazxsw2". Zgadzam się że spr. długości też się przydaje. Warto dodatkowo sprawdzić czy zawiera znaki specjalne, cyfry i duże litery (funkcje strpos oraz ord). A dalsze działanie zależy już do autora kodu - informacja o słabym haśle i możliwość kontynuacji rejestracji użytkownika, bądź prośba o ponowne wpisanie hasła.


(kostek135) #7

Szczerze to nie widzę sensu, równie dobrze można to zastąpić że 3-krotne wpisanie błędnego hasła uniemożliwia próby przez kolejne 24h na przykład. Mniej nerwów dla użytkownika, gdy po raz n-ty dostaje komunikat hasło za łatwe, krótkie nie ma tego i tamtego.