Mailinglisten-Archive |
Michael Kaiser schrieb: > Hallo Liste ! > > Ich habe ein kleines Programm geschrieben, dass > mit .htpasswd-Dateien aus einer Datenbank generiert. > Das Problem ist, dass zwar alles schön in die Dateien > eingetragen wird, man aber mit den Logins nicht > einloggen kann. > > Der Code: > > $fp = fopen($file, "w"); > $result = mysql_query($sql); > while ($row = mysql_fetch_array($result)) > { > $pw = crypt($row[email], $salt); > fwrite($fp, "$row[login]:$pw\n"); > echo $row[first_name].' '.$row[last_name].'<br>'; > } > fclose($fp); > > Es kommen Login raus, die in meinen Augen ganz > gut aussehen (z.B. michael:iYoVjiCaMSM3I), sie > funktionieren nur einfach nicht ! > Weiß jemand, woher das kommt und wie man > korrekt verschlüsseln kann ? > Danke ! > > --Michael > _____________________________________________________________ Ich hoffe das es Armin Steiner recht ist, daß ich hier seinen Kommentar einfüge, denn bei mir hatte es dann so funktioniert. ... > Armin Steiner schrieb: > > 3. > > Bei erfolgter Authentifizierung die ID des Benutzers durch einen > > eigenen Verschlüsselungsalgorithmus codiert mitschleppen, damit > > es keinem zu leicht gemacht wird. > > mit crypt() habe ich das mal getestet. > Über ein Formular wurde das PW vergeben, mit crypt() verschlüsselt in die > Datenbank > eingetragen, aber beim Login wurde ein anderer String durch crypt() > erzeugt. > Wie hast Du das Problem gelöst? > Du musst, bevor Du die Usereingabe durch crypt() schickst den salt (die ersten zwei Zeichen) aus dem gespeicherten pw holen und dieses als salt für die Usereingabe verwenden. Also: $salt = substr ($Upasswd,0,2); $Cpasswd = crypt($Upassword,$salt); $suffix="&attempt=2"; IF ($Cpasswd != $Upasswd): include($file); exit; ENDIF; $Upasswd=gespeichertes Passwort $Upassword=eingegebenens Passwort Sind die unterschiedlich fliegt der Mensch raus, wenn nicht geht es weiter ... CU -- -- Steffen Sander - Softwareentwicklung CRS Computer Register Service GmbH - Ritterstr. 11 - 10969 Berlin eMail s.sander_(at)_crs.de -Tel: +49-30-614 60 01 - Fax: +49-30-614 85 81 http://www.crs.de - http://www.markthalle.de - http://www.stadtnetz.net
php::bar PHP Wiki - Listenarchive