Durante a criação da conta, é melhor gerar a senha automaticamente e enviá-la ao usuário ou permitir que o usuário crie sua própria senha?

11

Essa pergunta surgiu hoje, ao discutir com um colega sobre a página "criar conta" para o site em que estamos trabalhando.

A opinião do meu colega é que devemos fazer o registro o mais rápido e sem problemas possível, portanto, devemos apenas pedir seu e-mail ao usuário e cuidar do resto.

Concordo com a intenção, mas tenho algumas preocupações:

  • Desde que gerar a senha, nós temos a responsabilidade de garantir que a senha é forte o suficiente
  • Na minha experiência, quando confrontados com uma senha ininteligível, é provável que os usuários anotem em uma postagem
  • Os usuários que não anotam a senha provavelmente esquecem. O que significa que eles terão que pedir uma nova senha regularmente, e isso não é divertido para ninguém

No entanto, considerando a qualidade geral das senhas criadas pelos usuários e o fato de muitas pessoas tenderem a usar a mesma senha para tudo ('estremecimentos'), posso ver como faria sentido gerar uma senha forte para eles.

Eu ainda me sinto dividido por isso. Estamos trabalhando em um site comercial, em que o usuário tem a opção de salvar os detalhes do cartão de crédito, portanto é obviamente muito importante que usemos a abordagem mais segura.

Dryr
fonte
3
Suponho que alguém tem que fazer referência a esse: xkcd: Força da senha
candied_orange
@CandledOrange Referência obrigatória do XKCD
Dryr 27/10
11
Como consumidor, no momento em que uso seu site e você gera uma senha para mim, é o momento em que excluo minha conta.
Eric King
4
Talvez esta pergunta seja mais adequada para o User Experience SE . Já existe uma pergunta semelhante com respostas interessantes: Você se livraria do campo de senha no formulário de inscrição .
insertusernamehere
19
Os emails não são um canal de comunicação seguro. Não envie senhas por email. Tokens válidos apenas por um curto período de tempo (por exemplo, 24 horas) podem estar ok. Você não pode evitar senhas, mas pode incentivar o uso de gerenciadores de senhas: software dedicado, recursos do navegador "lembre-se da minha senha" e blocos de anotações físicos são estratégias legítimas. O fornecimento de uma senha não incentiva bons hábitos de segurança. Além disso, implemente opções de login como "faça login no Google" onde você não armazena senhas. Use processadores de pagamento externos para que eu não precise confiar no seu site com meus detalhes de pagamento.
amon

Respostas:

11

A vantagem da abordagem de email é que você assegure dessa forma que o usuário forneça uma conta de email válida que ele controla.

No entanto, o canal de email é notoriamente inseguro. Isso significa que a senha pode ser interceptada. Portanto, essa abordagem deve ser considerada apenas se a senha gerada for usada apenas uma vez, no primeiro login e se for garantido que o usuário deve alterá-la.

A abordagem direta é mais segura, no sentido de que uma conexão tls / ssl ao seu site é muito mais difícil de interceptar sem ser notada.

Christophe
fonte
2
Geralmente, as duas abordagens são usadas juntas: insira email e senha e receba um email contendo um link de ativação.
Mouviciel 27/10/19
@mouviciel yes, en effet. Essa abordagem em duas etapas com senha e link parece ser a abordagem mais comum usada, e certamente não sem motivo :-) É mais seguro, porque em geral o link de ativação é usado apenas para ativação e não para login. Para o OP, isso exigiria o desenvolvimento da lógica para o envio do link de ativação e o rastreamento da ativação por conta.
Christophe