通过客户电子邮件自动登录


8

我当时正在考虑为我正在使用的扩展程序构建自动登录功能,单击电子邮件中的链接的客户将自动登录到他们的帐户。

这确实非常有用,特别是在发送给年长的客户时,因为他们需要输入忘记的密码才能登录并进行购买,因此变化很大。

但另一方面,它会带来一些我不太兴奋的漏洞。如果客户将电子邮件转发给他们的朋友,并且他们的朋友单击链接,则他们还将以他们的朋友身份登录。

当然,您可以尝试教育您的客户不要转发这些电子邮件,但这可能是艰巨的战斗。将营销电子邮件转发给朋友将允许他们未经授权登录您的帐户的想法并不是人们会很快习惯的。

有什么想法吗?

更新:刚刚注意到Quora从其评论通知电子邮件中进行了自动登录。

Answers:


11
  1. 存储客户上一次下订单或拜访时使用的IP地址和/或用户代理,并使链接仅适用于该IP地址或用户代理。
  2. 使链接仅工作一次。
  3. 需要一些非常简单的中间身份验证,例如“要确认您是Jane Doe,请输入邮政编码:”

我在想这个。我当时在想,如果有人愿意建立这种功能,那就可能是Facebook或Twitter。但是他们不这样做,对吗?
kalenjordan

4.客户不更改其浏览器的可能性很高-除了链接之外,还保存您要验证的Cookie值。
克里斯托夫在Fooman,2013年

1
如果用户拥有电话和/或使用图书馆中的站点,则用户代理很有可能会发生变化。IP也是如此。人们实际上在台式机上做事,然后在移动设备上跟进。再加上营销电子邮件的延迟……您更有可能会使用多种设备或IP。
davidalger

12

我想我不推荐这样的功能...

但是无论如何,如果要构建此功能,请考虑以下几点:

  • 使用基于令牌的登录名,例如http://shop.tld/?autologintoken = AABBCCDD

  • 如果这只是第一次,则客户登录时将身份验证令牌限制为一次登录

  • 使令牌对于每个客户都是唯一的,并且(非常重要)也不要基于用户名/密码/地址/名称/电子邮件/其他方式。Mage_Core_Helper_Data :: getRandomString可能会帮助您。我要说的最小长度是32。不要使用md5(time())之类的东西!

  • 每次客户更改密码时都更改令牌

  • 限制使用令牌登录的客户的帐户访问权限,例如,如果他们想更改为邮件地址或访问抄送号码,则让他们输入密码。这可能有助于提高安全性

  • 不要(!!!)依赖浏览器,cookie,IP或其他东西


1
希望我可以为此提供一个简单的+1。:)
davidalger

1
在1.9之前的Magento版本上,由于mt_srand仅具有一百万个可能的值(无论字符串长度如何,仍然只有一百万个可能的结果),因此getRandomString非常弱。
ColinM 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.