phpbar.de logo

Mailinglisten-Archive

[php] User Check

[php] User Check

Armin Steiner steiner_(at)_dynamic-webpages.de
Wed, 1 Mar 2000 09:54:00 +0100


> > Never ever das Passwort im Klartext speichern
>
> Wie kann ich denn das umwandeln? Muß ich es auch
> in die DB verschlüsselt reinschreiben? Wie kann ich denn
> das machen?

das machst du am Besten mit crypt(). Bei crypt() handelt
es sich um eine "Einweg"- Verschlüsselung nach der
Standart Unix DES Methode, d.h das Passwort wird verschlüsselt,
und dann so in die Datenbank eingetragen. Eine Decodierung
ist nicht möglich.
In der Datenbank hast du dann ein verschlüsseltes Passwort
stehen. Wenn nun ein Benutzer sein Passwort zwecks Authentifizierung
eingibt, musst du dieses wieder mittels crypt() verschlüsseln und dann
mit dem Eintrag in der Datenbank vergleichen.

Manual- Eintrag:
----------------
http://www.dynamic-webpages.de/phpmanual/html/function.crypt.html

Achtung:
Crypt() braucht einen 2-Zeichen-Salt, damit es den String nicht
zufälllig verschlüsselt. Das wäre unschön, weil der so entstandene
verschlüsselte String kaum mit dem in der Datenbank übereinstimmen
würde.

Beispiel:
---------
a) Eintragen des Passwortes in DB:

$saltin = substr($passwd,0,2);
$passwd = crypt($passwd, $saltin);
/* $passwd ist Passwort, $saltin ist generierter Salt */

b) verschlüsseltes Passwort aus der DB holen, Salt
generieren und vom Benutzer eingegebenes Passwort
mit diesem Salt codieren:

$saltout = substr($db_auth_pass,0,2);
$auth_pass = crypt($auth_pass,$saltout);
/*$db_auth_pass ist codiertes Passwort aus DB,
$auth_pass ist eingegebenes Passwort -> wird codiert*/

c) Vergleich:

if ($auth_pass==$db_auth_pass) {
    printf("Zugriff erlaubt");
}
else {
    printf("Zugriff verweigert")
}


Tip:
----
Es sollte das vom Benutzer eingegebene Passwort vor
Eintrag in Datenbank und vor dem Vergleich jeweils mit
strtolower() und trim() behandelt werden.

mit bestem Gruß

- Armin
_______________________________________________________________
PHP Knotenpunkt - Dynamic Web Pages _(at)_t http://www.dynamic-webpages.de
Installation,BestOfGML,Tipps,Tutorials,WhoIsWho,Deutsches Manual uvm.




php::bar PHP Wiki   -   Listenarchive