Pergunta

Eu estou construindo um site que funcionalidade ofertas aos usuários sem que eles precisem se registrar. A idéia é enviar um e-mail para o endereço especificado contendo um link com um token. Dessa forma, o usuário poderia este link a qualquer momento que quiser fazer alterações à funcionalidade.

Enquanto eu perceber que não há nenhuma maneira de realmente garantir um tal conceito, estou à procura de opções para minimizar a visibilidade do token. Em seu estado atual, assim que o usuário clica no link é adicionado ao seu histórico do navegador, disponível para qualquer pessoa que tenha acesso ao computador.

Na maioria dos casos eu iria superar isso com uma forma simples para que o token pode ser passada através de uma solicitação POST, mas as formas não são realmente suportados em e-mails.

Então a questão é, alguém sabe de uma maneira alternativa para esconder um símbolo em tal e-mail?

Foi útil?

Solução

Eu estou certo que você pensou nisso, mas você pode enviar-lhes uma senha e um link para uma URL onde eles necessário digitar essa senha. Se o enviado URL continha outra senha, seria um compromisso menor com a segurança do que o habitual para fazer a senha digitada pelo usuário bastante curto, como um número PIN, digamos.

Outras dicas

Você pode reenviar um novo token de cada vez que o usuário deseja efetuar login. Tê-los chape em seu endereço de e-mail e enviar-lhes um novo token, ao definir símbolos anteriores para 'expirou'. Ou, se os detecta servidor que um link antigo / símbolo foi usado, poderia automaticamente enviar uma nova para o endereço de email associado e pedir ao usuário para verificar o seu e-mail para um novo link.

Isso exigiria manter o controle de idade, expirou tokens e os endereços de email associados, mas ainda não requer inscrição -. Só que um usuário verifique seus e-mails cada vez que quiser fazer login Você iria ser essencialmente piggy backing em seu e-mail autenticação.

Ele também seria contra-intuitivo para os usuários.

Este iria transformar o token em um criptográfico nonce , que é usado principalmente para evitar o Replay atacá-lo mencionado.

Outra resposta, talvez mais útil:

Alguns navegadores (como o Chrome) não registram 301 "movido permanentemente" redirecionamentos no histórico do navegador. Firefox faz, mas há uma proposta de alteração que: https://wiki.mozilla.org/Browser_History:Redirects

Por exemplo, no Chrome, se você navegar diretamente para

amazon.com

seguirá um redirecionamento 301 para

www.amazon.com

Se você, em seguida, verificar o histórico do navegador, ele só irá mostrar

www.amazon.com

Assim, se o servidor retorna um redirecionamento 301 do link de login, o servidor poderia gravar o token, removê-lo a partir do link de redirecionamento, e navegador do usuário só iria gravar o link de redirecionamento.

(esta é a minha primeira vez de responder em estouro de pilha - deixe-me saber se a minha escrita é clara ou se eu estou faltando outras etiqueta)

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