2010-06-19 16 views
9

Ich versuche eine Website mit Benutzerkonten zu schreiben. Außer dem Passwort und der E-Mail-Adresse gibt es nicht viele vertrauliche Informationen. Aber ich verstehe nicht wirklich, was ich mache; Ich hack 'es irgendwie mit, während ich gehe. Gibt es etwas, was ich in Bezug auf Sicherheit oder andere wichtige Details im Kopf behalten sollte?Erstellen einer Webseite mit Benutzerkonten, was muss ich beachten?

Antwort

1

Sie MÜSSEN die MD5-PHP-Funktion für Passwörter verwenden. Einfache Art der Sicherung. Stellen Sie sicher, dass Sie strip_tags in PHP verwenden, damit jemand Befehle in Ihren Eingabefeldern nicht ausführen kann. Da es keine sensiblen Daten gibt, denke ich, dass Sie nichts verschlüsseln müssen. überprüfen Sie einfach das Login-System ist perfekt, und der Benutzer hat keine andere Möglichkeit, Daten für den Zugriff ohne Anmeldung ..

für einen einfachen Login-Skript genügen Shud ..

+4

"Sie MÜSSEN die MD5-PHP-Funktion verwenden" => während es ratsam ist, ein Passwort zu hacken, ist MD5() kaum der einzige Weg ... – Wrikken

+1

in der Tat, Sie dürfen nicht verwenden MD5 für Passwort-Hashing, sondern eher etwas langsamer und für Passwörter, wie BCRYPT oder sogar SCRYPT. – Ethan

3

Verwenden JanRain Engage (formerly rpxnow.com) zur Authentifizierung. Ihre Lösung ermöglicht es den Nutzern, ihre bestehenden Anmeldeinformationen von Google, Yahoo, Microsoft, Facebook und anderen zu verwenden, um sich auf Ihrer Website anzumelden. Viele dieser Anbieter geben eine gültige OpenID und oft eine gültige E-Mail-Adresse als Teil des Authentifizierungsprozesses an.

Wenn Sie JanRain verwenden, müssen Sie nur die E-Mail-Adresse oder die OpenID für einen Benutzer speichern, und müssen Sie keine Kennwörter oder Kennwort Hashes speichern. Darüber hinaus müssen Sie keine Funktionen zum Zurücksetzen des Passworts implementieren oder "Passwort vergessen". Auch Ihre Benutzerregistrierungsfunktion kann viel kleiner sein, da Sie sie mit einer gültigen E-Mail-Adresse oder OpenID starten, die vom Eigentümer bereitgestellt wird.

Die Kommunikation zwischen Ihrer Anwendung und JanRain ist authentifiziert und verschlüsselt, so ist es alles schön & sicher.

+1

True, aber auch daran erinnern, dass OpenID auch Nachteile haben kann. Siehe http://stackoverflow.com/questions/410085/what-reasons-are-there-not-use-openid für ein interessantes Gespräch in dieser Hinsicht. – nico

+1

Wenn ich OpenID sage, meine ich JanRain Engages Version davon. Sie verwenden OpenID unter dem Deckblatt, und der Benutzer muss es nie sehen. Der Benutzer sieht nur Benutzerkennung und Kennwörter, die er von Goog/Yahoo/MS/FB et al. Und Sie müssen Ihre Benutzer-ID und Ihr Kennwort nie auf einer Seite eingeben, mit Ausnahme der Anmeldeseite des Identity-Providers. –

+0

Dies könnte tatsächlich sein, was ich am Ende verwenden werde. Danke, dass du mir das gezeigt hast. – DavidR

4

Sarfraz Ahmed brachte einige gute Quellen zum Lesen. Sie können auch eine PHP-Klasse für die Benutzerauthentifizierung verwenden, es gibt viele. Ich selbst habe ein Projekt namens userFlex auf sourceForge http://uflex.sourceforge.net

setzen userFlex hat eine anständige Dokumentation und es tut mehr als nur Login-Benutzer; Es führt Registrierungs- und Feldvalidierungen, Passwortzurücksetzungen, Bestätigungscodes für Registrierungen, behandelt Sitzungen und mehr wie Autologin.

Wieder im Benutzerflex als Beispiel, könnten Sie auch in http://www.phpclasses.org/browse/file/5269.html oder viele andere gute Klassen in PHPclasses.org suchen.

Verwandte Themen