Alguns sites afirmam que permitir que os usuários colem senhas reduz a segurança. No entanto, colar senhas melhora a segurança porque permite o uso de gerenciadores de senhas.
Os gerenciadores de senhas geralmente geram senhas fortes para os usuários, armazenam-nas com segurança e as colam automaticamente nos campos de senha sempre que os usuários precisam fazer login. Essa abordagem geralmente é mais segura do que forçar os usuários a digitar senhas curtas para lembrar.
Em geral, os usuários não podem ser impedidos de colar em elementos <input>
.
Como essa auditoria do Lighthouse falha
O Lighthouse sinaliza o código que impede que os usuários colem em campos de entrada que não são somente leitura:
O Lighthouse reúne todos os elementos <input>
não de leitura-somente,
coleta algum texto em cada elemento
e verifica se o evento paste
não foi impedido por um manipulador de eventos personalizado.
Também é possível impedir a colagem fora de um listener de evento paste
.
O Lighthouse não detecta esse cenário.
Como ativar a colagem em campos de senha
Encontrar o código que está impedindo a colagem
Para encontrar e inspecionar rapidamente o código que está impedindo a colagem:
- Abra o painel Event Listener Breakpoints.
- Abra a lista Clipboard.
- Marque a caixa de seleção
paste
- Cole um texto em um campo de senha na página.
- O DevTools precisa pausar na primeira linha de código
no listener de eventos
paste
relevante.
Remover o código que está impedindo a colagem
A origem do problema geralmente é uma chamada para preventDefault()
no listener de eventos paste
associado ao elemento de entrada de senha:
let input = document.querySelector('input');
input.addEventListener('paste', (e) => {
e.preventDefault(); // This is what prevents pasting.
});
Se você estiver detectando apenas eventos de colagem para evitá-los, remova todo o listener de eventos.
Recursos
Código-fonte da auditoria Impedir que os usuários colem dados em campos de entrada