Login automático a partir do email do cliente


8

Eu estava pensando em criar um recurso de login automático para uma extensão em que estou trabalhando, em que um cliente que clicar em um link em um e-mail será automaticamente conectado à sua conta.

Isso seria realmente útil, especialmente ao enviar para clientes mais antigos, pois há uma grande alteração de que eles precisariam acessar a senha esquecida para fazer login e fazer uma compra.

Mas, por outro lado, isso abriria algumas vulnerabilidades das quais não estou muito animado. Se um cliente encaminhar o email para o amigo e o amigo clicar nos links, ele também será conectado como amigo.

Você pode tentar educar seus clientes para não encaminhar esses e-mails, mas isso pode ser uma batalha difícil. A ideia de que o encaminhamento de um email de marketing a um amigo permitiria que eles acessassem sua conta sem autorização não é algo que as pessoas se acostumarão rapidamente.

Pensamentos?

ATUALIZAÇÃO: Acabei de perceber que o Quora faz um logon automático a partir dos emails de notificação de comentários.

Respostas:


11
  1. Armazene o endereço IP e / ou o agente do usuário usado quando o cliente fez um pedido ou foi visitado pela última vez e faça com que o link funcione apenas com esse endereço IP ou agente do usuário.
  2. Faça o link funcionar apenas uma vez.
  3. Exija uma autenticação intermediária realmente fácil, como "Para confirmar que você é Jane Doe, digite seu CEP:"

Eu estava pensando um pouco mais sobre isso. Eu estava pensando que, se alguém tivesse um incentivo para criar esse tipo de recurso, provavelmente seria o Facebook ou o Twitter. Mas eles não fazem isso, fazem?
Kalenjordan

4. As chances de o cliente não mudar o navegador são altas - salve um valor de cookie no qual você se autentica além do link.
Kristof em Fooman

11
Se o usuário tiver um telefone e / ou usar o site em uma biblioteca, há uma boa chance de que o agente do usuário seja alterado. O mesmo vale para o IP. As pessoas, de fato, fazem coisas em seus computadores e depois as seguem em seus dispositivos móveis. Adicione a isso o atraso dos e-mails de marketing ... e você tem uma probabilidade ainda maior de que vários dispositivos ou IPs estejam em jogo.
davidalger

12

Eu acho que não recomendaria esse recurso ...

De qualquer maneira, se você deseja criar esse recurso, considere estes pontos:

  • use um logon baseado em token, como http: //shop.tld/? autologintoken = AABBCCDD

  • se for apenas a primeira vez que o cliente fizer logon, limite o token de autenticação a um logon

  • torne o token exclusivo por cliente e também (muito importante) não se baseie no nome de usuário / senha / endereço / nome / email / qualquer que seja. Mage_Core_Helper_Data :: getRandomString pode ajudá-lo. Um comprimento de 32 deve ser o mínimo que eu diria. Não use algo como md5 (time ())!

  • altere o token toda vez que o cliente alterar sua senha

  • restringir o acesso à conta para clientes que efetuaram login usando o token, por exemplo, permita que eles insiram sua senha se quiserem mudar para endereço de email ou acessar números CC. Isso poderia ajudar um pouco a melhorar a segurança

  • (!!!) não confie em navegador, cookies, IP ou qualquer outra coisa


11
Gostaria de poder dar mais do que um simples +1 neste. :)
davidalger

11
Nas versões do Magento anteriores à 1.9, o getRandomString é extremamente fraco devido ao fato de o mt_srand ter sido propagado com apenas 1 milhão de valores possíveis (não importa o tamanho da string, ainda assim, apenas 1 milhão de resultados possíveis).
ColinM
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.