Tool-Time Geschrieben 8. Mai 2002 Geschrieben 8. Mai 2002 Hi, ich möchte das jeder User sein Passwort eingeben muß bevor er weiter kommt, zum vergeleichen habe ich folgende Script : ... if($log) { # Passwort abfrage # $db_passwd = mysql_connect($mysqlhost, $mysqluser, $mysqlpassword); $sqlab_passwd = "select * from user where name='$user'"; $res_passwd = mysql_db_query("$mysqldb", $sqlab_passwd); $ori_passwd = mysql_result($res_passwd, 0,"passwd"); mysql_close($db_passwd); if($pass===$ori_passwd) { .... [/php] So, hier wird verglichen ob das Password , welches vom User eingegeben wurde, mit dem aus der Mysql-Datenbank übereinstimmt. Nur liegen die Passwörter in klar Text in der Datenbank. Nun meine Frage ist es sinvoll die Passwört so in der Mysql-Datenbank zu speichern ? - Oder sollte leiber ein Verschlüsselungsalgorytmus zum zuge kommen ? Falls ja habt ihr auch eventuell schon eine Idee wie soetwas aussieht ? Bis denn Tool-Time Zitieren
MiH Geschrieben 8. Mai 2002 Geschrieben 8. Mai 2002 bei der speicherung solltest du die passwörter mit md5() verschlüsseln und so auch in der db speicher. md5() ist eine one way verschlüsselung. zum vergleich kannst du dann folgenden select verwenden: select * from user where username='".$username."' AND pass='".md5($passwort)."' Zitieren
Tool-Time Geschrieben 8. Mai 2002 Autor Geschrieben 8. Mai 2002 Original geschrieben von MiH bei der speicherung solltest du die passwörter mit md5() verschlüsseln und so auch in der db speicher. md5() ist eine one way verschlüsselung. zum vergleich kannst du dann folgenden select verwenden: select * from user where username='".$username."' AND pass='".md5($passwort)."' Dadurch Verschlüssel ich doch die Verbindung zu Datenbank,oder ? Zitieren
exe-tm- Geschrieben 8. Mai 2002 Geschrieben 8. Mai 2002 Nein, Du verschlüsselst das Passwort und speicherst es in die Datenbank. Wenn der Nutzer zurück kommt und sein Passwort wieder eingibt, verschlüsselst Du dieses wieder mit der gleichen Funktion. Jetzt vergleichst Du das verschlüsselte Passwort aus der Datenbank mit dem verschlüsseltem Passwort der Benutzereingabe. Bei Übereinstimmung läßt Du ihn durch. Dadurch stehen keine Passwörter im Klartext in der Datenbank, man kann diese auch nicht entschlüsseln, da es eine Oneway Verschlüsslung ist. Zitieren
Tool-Time Geschrieben 8. Mai 2002 Autor Geschrieben 8. Mai 2002 Wie speicher ich diese denn dann ambesten in der Datenbank ? oder mache ich das über einen weiteren weg wie : $pass= .md5($passwort_eingabe); [/php] Zitieren
exe-tm- Geschrieben 8. Mai 2002 Geschrieben 8. Mai 2002 Bingo. $pass= md5($passwort_eingabe); und dann ab damit in die Datenbank. Zitieren
Tool-Time Geschrieben 8. Mai 2002 Autor Geschrieben 8. Mai 2002 Original geschrieben von exe[tm] Bingo. $pass= md5($passwort_eingabe); [/php] und dann ab damit in die Datenbank. [/b] Danke exe[tm] ich werde es gleich einmal probieren Noch nen schönen Feiertag Tool-Time :OD Zitieren
Valium Geschrieben 9. Mai 2002 Geschrieben 9. Mai 2002 md5 verschlüsselt? Leider völliger Blödsinn, sorry. http://www.php.net/manual/en/function.md5.php md5 is nur die Prüfsumme. Macht aber trotzdem sinn, md5 zu benutzen, da diese Prüfsumme nur genau das gleich ist, wenn das Passwort auch gleich ist. Vorteil hierbei im gegesatz zu gecrypt()en Sachen ist, dass am Ende immer das gleiche rauskommt, bei crypt() gibts immer andere Ergebnisse. Zitieren
exe-tm- Geschrieben 9. Mai 2002 Geschrieben 9. Mai 2002 Stimmt crypt() war es. Ist immer des Problem, wenn man Sachen unüberpfrüft einfach übernimmt Zitieren
Tool-Time Geschrieben 9. Mai 2002 Autor Geschrieben 9. Mai 2002 Ok, nun für mich als Dummi md5() oder crypted ? Zitieren
beetFreeQ Geschrieben 10. Mai 2002 Geschrieben 10. Mai 2002 In MySQL-Abfragen gibts doch auch noch PASSWORD()... Damit hat man ebenfalls ein verschlüsseltes Passwort in der DB. Einfügen und überprüfen funzt übrigens genau wie bei den anderen Möglichkeiten (md5 und crypt)... Zitieren
exe-tm- Geschrieben 10. Mai 2002 Geschrieben 10. Mai 2002 Nimm crypt(), das ist das was Du brauchst. Es verschlüsselt den übergebenen String mit DES. md5() ist eine Funktion um einen Hashwert zu erzeugen. Dieser Wert ist simpel gesprochen wie eine Art "Quersumme" eines Strings. Zitieren
etreu Geschrieben 10. Mai 2002 Geschrieben 10. Mai 2002 Gibt des denn ache eine sichere Möglichkeit das Passwort aus dem HTML-Formular ins Script zu übertragen (ohne SSL)? Zitieren
Jaraz Geschrieben 14. Mai 2002 Geschrieben 14. Mai 2002 Original geschrieben von E-T Gibt des denn ache eine sichere Möglichkeit das Passwort aus dem HTML-Formular ins Script zu übertragen (ohne SSL)? Ohne Applet, nein. Man kann wohl auch in Javascript verschlüsseln, aber da der Quellcode ja im Klartext vorliegt, kann ein erfahrener Programmierer das zurückverfolgen. Gruß Jaraz Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.