Niektóre witryny twierdzą, że zezwalanie użytkownikom na wklejanie haseł zmniejsza bezpieczeństwo. Wklejanie haseł zwiększa jednak bezpieczeństwo bo umożliwia korzystanie z menedżerów haseł.
Menedżery haseł zwykle generują silne hasła, bezpiecznie przechowywać je, a następnie automatycznie wklejać do pól haseł przy każdym logowaniu. Ogólnie rzecz biorąc, jest bezpieczniejsze niż wymuszanie na użytkownikach wpisywania haseł, które są wystarczająco krótkie. do zapamiętania.
Zazwyczaj nie należy uniemożliwiać użytkownikom wklejanie w elementach <input>
.
Dlaczego nie udało się przeprowadzić kontroli Lighthouse
Lighthouse oznacza kod, który uniemożliwia użytkownikom wklejanie w polach do wprowadzania danych, które nie są tylko do odczytu:

Lighthouse zbiera wszystkie elementy <input>
, które nie są tylko do odczytu, wkleja w każdy z nich pewien tekst, a potem sprawdza, czy zdarzenie paste
nie zostało zablokowane przez niestandardowy moduł obsługi zdarzeń.
Możesz też uniemożliwić wklejanie treści poza detektorem zdarzeń paste
.
Lighthouse nie wykrywa tego scenariusza.
Jak włączyć wklejanie w polach haseł
Znajdź kod, który uniemożliwia wklejanie
Aby szybko znaleźć i sprawdzić kod, który uniemożliwia wklejenie:
- Rozwiń panel Punkty przerwania detektora zdarzeń.
- Rozwiń listę Schowek.
- Zaznacz pole wyboru
paste
. - Wklej tekst w polu hasła na stronie.
- Narzędzie DevTools powinno się zatrzymać na pierwszym wierszu kodu w odpowiednim detektorze zdarzeń
paste
.
Usuń kod, który uniemożliwia wklejanie
Źródłem problemu jest często wywołanie funkcji preventDefault()
w detektorze zdarzeń paste
, który jest powiązany z elementem wprowadzania hasła:
let input = document.querySelector('input');
input.addEventListener('paste', (e) => {
e.preventDefault(); // This is what prevents pasting.
});
Jeśli słuchasz tylko wklejania zdarzeń, aby je zawrzeć, usuń cały detektor zdarzeń.
Zasoby
Kod źródłowy kontroli Uniemożliwia użytkownikom wklejanie w polach do wprowadzania danych