Pergunta

Eu tenho um site enviar alguém um email de confirmação.

Agora, no e-mail que eu gostaria de ter um link o usuário tem que clicar para confirmar que recebeu o e-mail.

Eu gostaria de incluir a senha do usuário (ou algum código aleatório) para o endereço de confirmação, de modo que o usuário não precisará digitá-la com a mão novamente, mas se eu fizer isso, a senha vai acabar no navegador arquivos de histórico e registro.

Existe alguma outra forma de obter um link de confirmação em um e-mail para enviar informações como um nome de usuário e senha, sem que acabar no link de alguma forma?
É, por exemplo, possível ter um formulário de entrada em um e-mail e enviar a senha como POST em vez de GET?

Foi útil?

Solução

A forma como isto normalmente funciona é que o e-mail de confirmação contém um link que inclui um GUID (Globally Unique Identifier) ??de algum tipo. O GUID está associado com a conta do usuário. Quando o link é clicado a aplicação web simplesmente define o sinalizador de confirmação e registra o usuário em usar o GUID em vez da combinação de costume nome de usuário e senha.

Outras dicas

Calcular um hex digerir (por exemplo, MD5) com base na identificação do usuário e a hora atual. Persistem este código para um banco de dados ou escrever um arquivo com ele como o nome do arquivo, e incluem ID e e-mail do usuário.

Configurar uma http manipulador (cgi, php, servlet, etc ...) para receber solicitações GET baseado em um URI que é algo como "/ confirm_email / {hexdigest}" ou "{/confirm_email.php?code= hexdigest}"

Quando um usuário precisa confirmar o seu e-mail, enviar um link para o servlet acima contendo a digerir.

Quando alguém links para este URI, recuperar o registro db ou arquivo com a correspondência de digerir. Se for encontrado o endereço de e-mail continha está agora verificado.

Se você quiser torná-lo mais robusto: Quando um usuário verifica o seu e-mail, altere o hex digerir para ser apenas um hash do próprio endereço de e-mail sem sal. Então você pode testar se o email de alguém mudou e as necessidades de re-verificar.

Você pode passar o GUID no e-mail. Esse GUID particular tem de ser associado com o usuário. Então, quando o usuário clica no link do GUID é enviado de volta para o aplicativo e pode ser capturado como um QueryString. Extraia o GUID uma atualização que o usuário tenha sido aprovado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top