Melhor prática para reiniciar as senhas de utilizador esquecidas

Até onde posso pensar, há duas maneiras razoáveis de repor a senha esquecida de um utilizador.

  1. peça ao utilizador para introduzir o seu endereço de E-mail e uma nova senha de texto simples é enviada para o seu endereço de E-mail.

  2. um link é enviado para o seu endereço de E-mail que tem um número UID na URL. Clicando nisto leva o usuário a um formulário no site onde eles podem escolher lá a própria nova senha.

Que método é preferível e porquê?

Se o método 1 é usado, talvez um terceiro poderia ler o e-mail e obter a nova senha. Se o método 2 é usado, o que é para parar alguém metodicamente passando por códigos UID para tentar acessar o formulário para mudar a senha de um usuário?

Author: Lars, 2013-04-15

3 answers

O melhor padrão seria:

  1. O utilizador pede que a senha seja reposta. O melhor é fazê-lo através do nome de utilizador, e não indicar se o utilizador existe ou não (para evitar possíveis utilizadores a listar através de um programa)

  2. Você gera um registo numa nova tabela de bases de dados com o utilizador, datetime de requisição (=datetime atual), e um GUID que você acabou de gerar

  3. Você envia um e-mail para o usuário, apontando para a página de reset senha com o GUID (não o userid) como parâmetro

  4. Nesta página, você deve verificar se o GUID existe, e eventualmente você pode colocar alguma data de validade (=o usuário tem 1 dia para reiniciar, por exemplo)

  5. Não se esqueça de marcar o registro como "usado" (com um campo extra em a tabela) quando o usuário reset sua senha, de modo que você pode parar um eventual segunda tentativa...

Pode ser ainda mais seguro, mas isso já é bastante bom, acho eu....
 25
Author: Laurent S., 2013-04-15 14:55:12

O OWASP tem uma boa lista de controlo de https://www.owasp.org/index.php/Forgot_Password_Cheat_Sheet

Aqui está um resumo rápido dos passos:

  1. recolher dados de identidade ou questões de Segurança
  2. Verificar As Questões De Segurança
  3. envia um Token por um canal lateral
  4. permitir ao utilizador alterar a senha
 8
Author: rmblstrp, 2014-06-22 19:03:07

Verifique se o remetente é o utilizador real, fazendo perguntas de verificação.

NÃO envie a senha no email pessoal que não está na lista de empregados do planate.

Não adicione a palavra "password" ao título ou ao corpo do email.

Certifique-se de enviar separadamente o nome de utilizador e a senha.

Para o utilizador do Office 365, direccione-os para a área da minha senha ou envie este link https://passwordreset.microsoftonline.com

Não entendas. intimidado pelo Usuário, escalar para o gerente de TI se a necessidade surgir.
 0
Author: JERNY SAMALA, 2018-03-06 06:20:12