[php] długości i znaki zabronione w formularzach

0

Tak właśnie wpadło mi na myśl następujące pytanie:

Jakie długości nazw i jakie znaki są zakazane (lub powinny być zakazane) w formularzach rejestracyjnych na stronach? Oczywiście na uwadze mam bezpieczeństwo skryptów.

Np. Login - na pewno więcej niż 3 znaki - ile max. ?? 20 - 30 ???
Jakie znaki powinny być zabronione w loginach? <, >, / - ? jakieś jeszcze ??

To samo z hasłami - czy tu możemy pozwolić sobie na dowolność ??

Co o tym sądzicie i co o tym sądzą fachowcy ?? I dlaczego ??

0

Właściwie to nie ma to znaczenia. Długość czy ograniczenia na zawartość nie mają sensownego wytłumaczenia - wszyscy dodają bo tak.
Nic nie stoi na przeszkodzie, aby login składał się z <>/ czy innych znaków. Przecież i tak wszystko przed przesłaniem do bazy danych zostaje zabezpieczone, podobnie wszystko co jest wyświetlane powinno być zabezpieczone przed XSS.

Na zabezpieczonej stronie, nick postaci Robert'); DROP TABLE Studens; -- nic strasznego nie zrobi. Podobnie przy wyświetlaniu - pojawi się dokładnie to co użytkownik wpisze.

Reasumując - wszelkie ograniczenia to widzimisię twórcy strony.

0
nav napisał(a)

Robert'); DROP TABLE Studens; --
Jakbym to skądś znał...

0

http://xkcd.com/327/ :-)

A akurat ograniczenie na długość ma sens - pole w bazie wszak też ma długość maksymalną, nieograniczone nie jest. Ja loginy na ogół robię w okolicach 30 znaków, by można było nawet imię+nazwisko użyć, jak komuś potrzeba. Na ogół się nie zabrania rzeczy w loginach/hasłach. Za to oczywiście nakładam ograniczenia na pola w rodzaju "kod pocztowy", PESEL, NIP, imię/nazwisko, e-mail itp. (swoją drogą: ostatnio przypomniało mi się, że w systemie nie było walidacji postaci e-maila i ktoś wpisał adres z przecinkiem zamiast kropki i dziwił się, ze mu nie działa ;-)).

Ograniczenia na hasło niektórzy nakładają, by wymusić silne hasła, nie ma sensu, jak ktoś zrobi słabe to jego wina ;-)

Za to mam inne pytanie przy okazji tego tematu: gdy robimy na przykład wprowadzanie adresu, to czy robić to na trzy pola (ulica, numer domu, numer mieszkania), czy pozwolić wpisać w jedno? Analogicznie na przykład kod pocztowy.

0

Wygodniejszą dla programisty jest wersja z wieloma polami - panujesz nad formatowaniem w widoku, bez większych problemów możesz użyć indeksowania (nie potrzeba wyszukiwania pełnotekstowego). Jednak narzucasz odgórnie to co może być w adresie, np czasem jest numer skrytki pocztowej, a formularz tego nie przewiduje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1