stamatios
← Voltar ao feed
Campo de senha com tesoura cortando a ponta de uma chave longa, metáfora do corte silencioso de senhas no Vanguard
Dev & Engenharia

maxlength=20 no campo de senha impede login no Vanguard

resumo de ~3 min

O autor relata que, por cerca de um ano, não conseguiu entrar na conta do Vanguard pelo navegador, mesmo redefinindo a senha cerca de três vezes. Ele contornava o problema lendo um QR code com o aplicativo do Vanguard no celular, e só decidiu investigar a causa depois.

A causa identificada

Segundo o autor, o formulário de redefinição de senha do Vanguard usa um campo <input type="password"> com maxlength="20". Ele usa o 1Password e gera senhas mais longas que 20 caracteres. Ao colar uma senha de 26 caracteres no campo de redefinição, o navegador (Chrome) aceita apenas os 20 primeiros. Como o campo de confirmação recebe o mesmo texto truncado, a senha é salva com 20 caracteres.

Por que o login falha

No formulário de login, o campo de senha não tem o limite de 20 caracteres. Por isso, ao colar a senha completa, o sistema recebe 26 caracteres, diferentes dos 20 salvos na redefinição, e informa que a senha está incorreta. O autor descreve a confusão de ter acabado de redefinir a senha.

Conclusão do autor

Para o autor, o exemplo mostra que o atributo maxlength não deveria ser usado em campos de senha. Ele defende que a validação do tamanho seja feita com JavaScript ou no backend, já que essas camadas processam o texto exatamente como o usuário o enviou, sem um corte involuntário.

O texto não traz resposta da Vanguard nem confirmação técnica independente sobre o comportamento do formulário. As afirmações sobre o funcionamento do site são as observações do próprio autor.