Wie bei allem, wo Sie Sicherheitspraktiken anwenden, müssen Sie die Gefährdungs- und Bedrohungsbewertung für Ihre einzigartige Umgebung und Ihren Anwendungsfall bewerten. Die vorhandenen Antworten bieten zahlreiche Berührungspunkte für diese Auswertung sowie Hinweise für Dinge, die vermieden werden sollten, z. B. durch GET
ausgelöste Aktionen. Stattdessen werde ich mich mehr auf den "Benutzer" -Teil der UX konzentrieren. Ich werde auch auf viele der auf der Seite verstreuten Kommentare eingehen.
Genau das, was Sie mit der durch E-Mail ausgelösten Aktion "überprüfen", ist ebenfalls ein zu berücksichtigender Faktor. Wenn Sie lediglich bestätigen, dass es sich um eine gültige E-Mail-Adresse handelt, ist fast jede Aktion ausreichend. Das Überprüfen der E-Mail, der Absicht, ein Konto zu erstellen, und der Tatsache, dass der Benutzer, der die E-Mail erhält, der Benutzer ist, der die Kontoerstellung initiiert hat, erfordert etwas mehr Aufwand.
Eine "Anstrengung" sollten Sie nicht muss jedoch das Versenden von Erinnerungs-E-Mails übernehmen. Angenommen, der Benutzer hat das Konto absichtlich erstellt, eine gültige E-Mail-Adresse verwendet und möchte das Konto für jeden Zweck verwenden, den Sie Konten anbieten. Er sucht nach der E-Mail und führt den Aktivierungsprozess durch, sobald er dazu in der Lage ist. Der Link, der Code oder was auch immer läuft möglicherweise ab, bevor sie ihn verwenden, wenn sie während des Wartens auf die E-Mail von anderen Angelegenheiten abgelenkt werden. In solchen Fällen ist es in Ordnung, ihnen zu erlauben, die Bestätigungs-E-Mail erneut zu senden. Eine Erinnerungs-E-Mail ist jedoch viel eher ein Spam-Auslöser als ein Vorteil für den Benutzer.
Als Benutzer schätze ich es, Optionen zur Aktivierung / Überprüfung meines Kontos zur Verfügung zu haben. Der häufigste Optionssatz, auf den ich gestoßen bin, besteht darin, dass die E-Mail einen Link enthält, auf den ich entweder klicken oder & einfügen kann, und einen Bestätigungscode, den ich in ein Formularfeld auf einer Seite in meinem eingeben kann Bereich für Kontoeinstellungen auf der Website. Der Bestätigungscode ist selten etwas anderes als eine Ganzzahl mit einer Länge von 5 bis 9 Stellen.
Die Bestätigungs-E-Mails, die mir als Benutzer das größte Vertrauen geben, sind diejenigen, die einen krypto aussehenden Hash in der URL haben ( / verify? l = lgGS2SBjMTU4NjkwNjYxMjI5MDBhZDk2YjEyMzMzYjNhZmQxOb
) Seite einzigartig für mich, wo ich dann das Passwort eingeben muss, mit dem ich das Konto erstellt habe. Die Verwendung des Hashs bestätigt, dass der Link in einer E-Mail empfangen wurde, die nicht erraten oder brutal erzwungen wurde, und überprüft somit, ob die E-Mail gültig ist. Durch das Bereitstellen dieser eindeutigen Seite vor allen anderen Aktionen kann der Server die E-Mail, an die er gesendet wurde, als "gültig" markieren, ohne die Kontoerstellung zu bestätigen. Die Eingabe des Kennworts bestätigt, dass sich am anderen Ende ein Akteur befindet, im Gegensatz zu Antiviren-, Malware-Erkennungs- oder Pre-Fetch-Vorgängen. Die Gültigkeit des Passworts bestätigt mit hinreichender Sicherheit, dass der Empfänger der E-Mail und der Ersteller des Kontos dieselbe Person sind.
Die vorgeschlagene Frist von 30 Minuten scheint ein wenig zu sein schwerwiegend, während ein Zeitraum von 24 Stunden möglicherweise zu lang ist, wenn Ihre Bedrohungsanalyse darauf hinweist, dass Ihre Exposition innerhalb von 24 Stunden nicht akzeptabel ist. Ich glaube, dass 2 Stunden für fast jede Benutzerumgebung ausreichen sollten. Insbesondere dann, wenn die Möglichkeit zum erneuten Senden der Überprüfung verfügbar ist. Selbst wenn Sie ein mobiles Gerät mit einer 14-kb / s-Verbindung zu einem Remote-POP-Konto verwenden, sollte der Austausch innerhalb von 120 Minuten abgeschlossen sein.
Die Verwendung von JS zur Überprüfung menschlicher Handlungen kann problematisch sein. JS kann deaktiviert werden und ist viel häufiger als viele Webentwickler gerne wissen würden. Zweitens können Werbeblocker JS pro Site oder pro Quelle blockieren, selbst wenn JS im Browser aktiviert ist. Ich blockiere viele JS-Quellen, einschließlich der Analyseskripte von Google, auf globaler Basis und liste einige für Websites wie Stack Exchange auf, wo ich bereit bin, sie bei der Verwendung meiner Daten zu unterstützen.
Das Einfügen eines Links in die E-Mail oder auf die Bestätigungsseite zum "Kündigen" des Kontos ist eine Verschwendung. In der E-Mail ist dies tatsächlich kontraproduktiv, da dies darauf hindeutet, dass das Klicken auf einen Link zu einem Konto, das Sie nicht möchten, eine gute Idee ist. Stattdessen sollte die E-Mail die Angabe enthalten, dass das Konto nicht bestätigt und möglicherweise gelöscht wird, wenn Sie nichts tun. Ein Link zum Abbrechen auf der Bestätigungsseite ist noch schlimmer, da er schlechtes Verhalten belohnt. Ich erhalte häufig E-Mails als Teil eines alten Google-Snafu, die an ein anderes Google Mail-Konto weitergeleitet werden, und ich gehe davon aus, dass das Gegenteil auch für das andere Konto gilt. [Früher hat Google keine gepunkteten und nicht gepunkteten Benutzernamen zusammengeführt, daher sind mein gepunkteter Benutzername und die nicht gepunktete Version eines anderen Benutzers unterschiedliche Konten. Google wird jedoch gelegentlich ausrutschen und ich erhalte trotzdem eine E-Mail :(]
Wie eng Sie die "verifizierte" E-Mail-Adresse mit dem Aktivierungslink koppeln, hängt von Ihrem Anwendungsfall und Ihrer Bedrohungsanalyse ab. Ich bin leicht verärgert, wenn ich mein Konto nach dem Ändern der zugehörigen E-Mail-Adresse erneut validieren muss. Die Akzeptanz des Prozesses ist proportional zu meinem "Wert" des Kontos. Für mein Bankkonto, PayPal usw. akzeptiere ich zu 100%. Bei PcPartsPicker würde ich dies jedoch zu etwa 15% akzeptieren ein Prozess.
Ignorieren Sie die IP-Adresse und / oder den Benutzeragenten. In diesem Fall werde ich häufig Websites anzeigen und mithilfe meines Mobilgeräts ein Konto erstellen. Ich werde nicht , jedoch offene E-Mails darauf. Wenn ich ein Konto erstelle und erfahre, dass ich es irgendwie überprüfen oder bestätigen muss und E-Mail die angebotene Methode ist, werde ich Warten Sie, bis ich nach Hause komme, um die E-Mail auf meinem Desktop zu öffnen, wo ich sie überprüfen kann. Die IP und der Benutzeragent sind daher sehr unterschiedlich. Mein Passwort bleibt jedoch das gleiche, und das sollte ausreichen, um mich als ursprünglichen Kontoersteller zu verifizieren.
Denken Sie daran, dass E-Mails ungefähr so sicher sind wie das Jumbo-tron auf dem Times Square Gehen Sie entsprechend vor.