Wprowadzenie hasła użytkownika - każdy znak to oddzielne pole

0

Witam,

Chciałbym aby każdy znak w haśle był oddzielnym polem. Czym najlepiej się posłużyć? Czy po prostu zrobić to tak, że każdy znak to oddzielny input czy istnieje jakieś lepsze rozwiązanie?

1

Brzmi na problem X/Y - dlaczego chciałbyś, aby każdy znak był oddzielnym polem?

0

Chciałbym aby każdy znak był w oddzielnym polu i chce żeby takich pół było np. 20. Później te wszystkie znaki chce połączyć w jeden string i sprawdzić różne wymagania co do hasła np. czy wystąpił co najmniej jeden znak specjalny, czy hasło składa się z co najmniej 8 znaków itd.

Chciałbym po prostu coś takiego zaimplementować w javascripcie.

1

@kaczor19: Skoro chcesz, żeby każdy znak był oddzielnym polem, to chyba też oddzielnym input'em, bo pole to input, nie? Chyba, że coś przeoczyłem...

0
koszalek-opalek napisał(a):

@kaczor19: Skoro chcesz, żeby każdy znak był oddzielnym polem, to chyba też oddzielnym input'em, bo pole to input, nie? Chyba, że coś przeoczyłem...

Właśnie tak chce zrobić. Tylko zastanawiałem się czy istnieje jakieś lepsze rozwiązanie do tego.

0

screenshot-20200109214306.png

Czy masz na myśli coś takiego?
To rozwiązanie nazywa się hasło maskowane i jest często stosowane np. podczas logowania do banku.

0
kaczor19 napisał(a):

Właśnie tak chce zrobić. Tylko zastanawiałem się czy istnieje jakieś lepsze rozwiązanie do tego.

Ale rozwiązanie czego? :) Bo nie podałeś problemu, tylko gotowe rozwiązanie, ale nie wiemy, co naprawdę chcesz osiągnąć...
http://xyproblem.info/

1

Nie ma lepszego rozwiązania niż oddzielne inputy jeżeli chcesz oddzielne pola.

1

To rozwiązanie nazywa się hasło maskowane i jest często stosowane np. podczas logowania do banku.

Tak chodzi mi dokładnie o coś takiego. Czy w tym przypadku zrobić to najlepiej na oddzielnych inputach czy istnieje jakieś lepsze rozwiązanie?

3

Ja bym to zrobił na osobnych inputach. W każdym z nich dodajesz w JavaScript obsługę wciśnięć klawiszy:

  • po stwierdzeniu, że coś zostało wpisane, przenosisz focus do kolejnej kontrolki
  • poprzedni punkt warto rozszerzyć o walidację i np. jeśli zostanie wprowadzony jakiś dziwny znak (którego nie powinno być w haśle) to możesz go skasować/wyczyścić dane pole
  • jeśli pacjent wciśnie backspace to czyścisz pole i przenosisz focus do pola poprzedniego
  • często banki stosują dodatkowe zabezpieczenie (na wypadek, jakby ktoś zainstalował w systemie keylogger czy inny program szpiegujący) w postaci pytania tylko o wybrane znaki z tego hasła
4

To raczej na pewno problem XY.
Oddzielne pola w bankach są po to żeby podawać tylko wybrane litery hasła - dzięki czemu przechwycenie całości jest utrudnione.
Tutaj jak rozumiem podawane jest całe hasło.
Więc takie security na pokaz czy o co chodzi?

1
kaczor19 napisał(a):

Chciałbym aby każdy znak był w oddzielnym polu i chce żeby takich pół było np. 20. Później te wszystkie znaki chce połączyć w jeden string i sprawdzić różne wymagania co do hasła np. czy wystąpił co najmniej jeden znak specjalny, czy hasło składa się z co najmniej 8 znaków itd.

Chciałbym po prostu coś takiego zaimplementować w javascripcie.

no ale string jest arrayem więc nie musisz mieć 20 pól by to zbadać

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