2016-04-02 12 views
1

Ich habe ein einfaches PHP-Benutzersystem geschrieben, in dem der Benutzer einen Benutzernamen, ein Passwort und eine E-Mail über ein HTML-Formular einreicht. Ich hash das Passwort und füge alles zu einer Datenbank hinzu. In der db-Tabelle gibt es ein Bitfeld, um zu sagen, ob das Konto aktiviert ist oder nicht. Jetzt die Frage ist, was genau schreibe ich, die eine Registrierungsbestätigung E-Mail erstellt? Wie erzeuge ich einen Link, der diesen bestimmten Benutzer registriert, ohne das System dahinter anzuzeigen?Wie kann ich eine Bestätigungsmail für die Benutzerregistrierung sichern?

der falsche Weg sein

Please click this link to complete registration: 
www.mysite.com/app/user?register=1&user=thisUser 

Was bin ich nicht von hier denken Dies würde? Wie mache ich das sicher?

+1

Verwenden Sie einen Aktivierungscode. –

+0

'if ist gesetzt und nicht leer {...} else {schmeiße sie raus}' zusammen mit einer vorbereiteten Anweisung. –

+0

Frage ist unklar. Oh, und wenn wir (gleich) unklar sind oder du mehr Infos brauchst, sei nicht schüchtern und steig ein ;-) –

Antwort

1

Sie könnten einen zufälligen persönlichen Schlüssel für jeden Benutzer generieren und in die Datenbank einfügen. Als der Bestätigungslink könnte wie folgt aussehen:

Click here to confirm: 
http://yourwebsite.com/?confirm=1362172183 

als Sie überprüfen können, ob es einen Get-Wert von ‚bestätigen‘ gesetzt ist und wenn es vorhanden ist können Sie den Eintrag in der Datenbank löschen und etwas einfügen wie ‚bestätigt‘ . Dann können Sie überprüfen, ob es bestätigt wurde.

Verwandte Themen