Wer ist schuld?
Eins der am häufigsten auftretenden Probleme für Web-Designer ist es dem Benutzer den Zutritt zur Seite zu gewähren ohne Eingabe von Passwort und Login, diesen jedoch trotzdem zu autorisieren.
Einige Beispiele dazu:
- Ein Aktivierungslink für ein Account für einen Benutzer, der sich gerade erst registriert hat.
- Link um das Passwort wiederherzustellen
- Die Rückkehr, bzw. Einladung für einen Benutzer, der lange nicht mehr auf der Seite war.
Für jeden dieser Fälle müssen wir für den Benutzer eine Art Kennung schaffen und diese in die URL einfügen, die mit der Mail an ihn gesendet wird.
Normalerweise sollte diese Kennung folgende Eigenschaften besitzen:
- einmalig
- sicher
- schwer (unmöglich) zu fälschen
- nicht allzu lang
Ich habe eine Reihe von Möglichkeiten gesehen (oder bin auch manchmal selbst dazu übergegangen) die darauf aufbauen in die Datenbank ein zusätzliches Datenfeld, oder eine ganze Tabelle einzufügen, die diese generierten Kennungen zusammen mit zusätzlichen Informationen speichert. Das erlaubt es den Benutzer einzuloggen, wenn er mit dieser Kennung die Seite besuchen will. Diese Kennung bekommt man meist mithilfe einer Hashfunktion.