Автоматический вход по электронной почте клиента

8

Я думал о создании функции автоматического входа для расширения, над которым я работаю, когда клиент, который щелкает ссылку в электронном письме, будет автоматически входить в свою учетную запись.

Это было бы очень полезно, особенно при отправке сообщения пожилым клиентам, потому что существует большая разница, когда им нужно будет нажать забытый пароль, чтобы войти в систему и совершить покупку.

Но с другой стороны, это открыло бы некоторые уязвимости, которые меня не слишком волновали. Если клиент пересылает электронное письмо своему другу, а его друг нажимает на ссылки, он также будет зарегистрирован в качестве своего друга.

Конечно, вы можете попытаться научить своих клиентов не пересылать эти электронные письма, но это может быть тяжелой битвой. Идея, что пересылка маркетингового электронного письма другу позволит им войти в вашу учетную запись без разрешения, не является чем-то, к чему люди привыкнут быстро.

Мысли?

ОБНОВЛЕНИЕ: только что заметил, что Quora делает автологин из своих писем с уведомлениями о комментариях.

kalenjordan
источник

Ответы:

11
  1. Сохраните IP-адрес и / или пользовательский агент, использованный, когда клиент в последний раз разместил заказ или посетил его, и сделайте ссылку работающей только с этим IP-адресом или пользовательским агентом.
  2. Заставьте ссылку работать только один раз.
  3. Требуется очень простая промежуточная аутентификация, например «Чтобы подтвердить, что вы Джейн Доу, пожалуйста, введите свой почтовый индекс:»
ColinM
источник
Я думал немного больше об этом. Я думал, что если у кого-то будет стимул для создания такой функции, то, вероятно, это будет Facebook или Twitter. Но они этого не делают?
Календжордан
4. высока вероятность того, что клиент не сменил свой браузер - сохраните значение cookie, которое вы проверяете в дополнение к ссылке.
Кристоф в Фуман
1
Если у пользователя есть телефон и / или он использует сайт из библиотеки, есть большая вероятность, что пользовательский агент изменится. То же самое касается IP. Фактически, люди делают что-то на своем рабочем столе, а затем следят за этим на своем мобильном устройстве. Добавьте к этому задержку маркетинговых рассылок ... и у вас еще больше вероятность того, что в игру вступят несколько устройств или IP-адресов.
Давидгер
12

Я думаю, что я не рекомендовал бы такую ​​функцию ...

Но в любом случае, если вы хотите создать эту функцию, обратите внимание на следующие моменты:

  • используйте основанный на токене логин, например http: //shop.tld/? autologintoken = AABBCCDD

  • если это только первый раз, когда клиент входит в систему, ограничьте токен аутентификации одним логином

  • сделать токен уникальным для каждого клиента, а также (что очень важно) не на основе имени пользователя / пароля / адреса / имени / адреса электронной почты / чего бы то ни было. Mage_Core_Helper_Data :: getRandomString может вам помочь. Длина 32 должна быть минимальной, я бы сказал. Не используйте что-то вроде md5 (time ())!

  • меняйте токен каждый раз, когда клиент меняет свой пароль

  • ограничьте доступ к учетной записи для клиентов, которые вошли в систему с помощью токена, например, разрешите им ввести свой пароль, если они захотят сменить почтовый адрес или получить доступ к номерам CC. Это может помочь немного улучшить безопасность

  • не полагайтесь (!!!) на браузер, куки, IP или что-то еще

thebod
источник
1
Хотел бы я дать больше, чем простой +1 на этом. :)
Давидгер
1
В версиях Magento до 1.9 getRandomString чрезвычайно слабый из-за того, что mt_srand засевается только с 1 миллионом возможных значений (независимо от длины строки, все еще только 1 миллион возможных результатов).
ColinM