Automatische Anmeldung per Kunden-E-Mail


8

Ich habe überlegt, eine automatische Anmeldefunktion für eine Erweiterung zu erstellen, an der ich arbeite. Ein Kunde, der auf einen Link in einer E-Mail klickt, wird automatisch in seinem Konto angemeldet.

Dies ist besonders beim Senden an ältere Kunden sehr hilfreich, da sie eine große Änderung vornehmen müssen, um das vergessene Passwort einzugeben und sich anzumelden und einen Kauf zu tätigen.

Andererseits würde es einige Schwachstellen eröffnen, über die ich nicht allzu aufgeregt bin. Wenn ein Kunde die E-Mail an seinen Freund weiterleitet und sein Freund auf die Links klickt, wird er auch als sein Freund angemeldet.

Zugegeben, Sie könnten versuchen, Ihre Kunden zu erziehen, diese E-Mails nicht weiterzuleiten, aber das könnte ein harter Kampf sein. Die Idee, dass das Weiterleiten einer Marketing-E-Mail an einen Freund es ihm ermöglichen würde, sich unbefugt bei Ihrem Konto anzumelden, ist nicht etwas, an das sich die Leute schnell gewöhnen werden.

Gedanken?

UPDATE: Ich habe gerade bemerkt, dass Quora eine Autologin aus seinen Kommentarbenachrichtigungs-E-Mails durchführt.

Antworten:


11
  1. Speichern Sie die IP-Adresse und / oder den Benutzeragenten, die verwendet wurden, als der Kunde zuletzt eine Bestellung aufgegeben oder besucht hat, und stellen Sie sicher, dass der Link nur mit dieser IP-Adresse oder diesem Benutzeragenten funktioniert.
  2. Stellen Sie sicher, dass der Link nur einmal funktioniert.
  3. Benötigen Sie eine wirklich einfache Zwischenauthentifizierung wie "Um zu bestätigen, dass Sie Jane Doe sind, geben Sie bitte Ihre Postleitzahl ein:"

Ich habe ein bisschen mehr darüber nachgedacht. Ich dachte, wenn jemand einen Anreiz hätte, diese Art von Funktion zu entwickeln, wäre es wahrscheinlich Facebook oder Twitter. Aber sie machen das nicht, oder?
Kalenjordan

4. Die Wahrscheinlichkeit ist hoch, dass der Kunde seinen Browser nicht geändert hat. Speichern Sie zusätzlich zum Link einen Cookie-Wert, bei dem Sie sich authentifizieren.
Kristof bei Fooman

1
Wenn der Benutzer ein Telefon hat und / oder die Site aus einer Bibliothek verwendet, besteht eine gute Chance, dass sich der Benutzeragent ändert. Gleiches gilt für die IP. Tatsächlich erledigen die Leute Dinge auf ihrem Desktop und verfolgen sie dann auf ihrem mobilen Gerät. Hinzu kommt die Verzögerung bei der Vermarktung von E-Mails… und Sie haben eine noch höhere Wahrscheinlichkeit, dass mehrere Geräte oder IPs im Spiel sind.
Davidalger

12

Ich denke, ich würde eine solche Funktion nicht empfehlen ...

Beachten Sie jedoch die folgenden Punkte, wenn Sie diese Funktion erstellen möchten:

  • Verwenden Sie ein tokenbasiertes Login wie http: //shop.tld/? autologintoken = AABBCCDD

  • Wenn dies nur das erste Mal ist, dass sich der Kunde anmeldet, beschränken Sie das Authentifizierungstoken auf eine Anmeldung

  • Machen Sie das Token für jeden Kunden eindeutig und (sehr wichtig) auch nicht basierend auf dem Benutzernamen / Passwort / Adresse / Name / E-Mail / was auch immer. Mage_Core_Helper_Data :: getRandomString kann Ihnen helfen. Eine Länge von 32 sollte das Minimum sein, würde ich sagen. Verwenden Sie nicht so etwas wie md5 (time ())!

  • Ändern Sie den Token jedes Mal, wenn der Kunde sein Passwort ändert

  • Beschränken Sie den Kontozugriff für Kunden, die sich mit dem Token angemeldet haben. Lassen Sie sie beispielsweise ihr Kennwort eingeben, wenn sie zur E-Mail-Adresse wechseln oder auf CC-Nummern zugreifen möchten. Dies könnte ein wenig zur Verbesserung der Sicherheit beitragen

  • Verlassen Sie sich nicht (!!!) auf Browser, Cookies, IP oder etwas anderes


1
Ich wünschte, ich könnte mehr als eine einfache +1 geben. :)
Davidalger

1
In Magento-Versionen vor 1.9 ist getRandomString extrem schwach, da mt_srand nur mit 1 Million möglichen Werten besetzt ist (unabhängig von der Länge der Zeichenfolge immer noch nur 1 Million mögliche Ergebnisse).
ColinM
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.