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
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)."'
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 ?
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.
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]
exe-tm- Geschrieben 8. Mai 2002 Geschrieben 8. Mai 2002 Bingo. $pass= md5($passwort_eingabe); und dann ab damit in die Datenbank.
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
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.
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
Tool-Time Geschrieben 9. Mai 2002 Autor Geschrieben 9. Mai 2002 Ok, nun für mich als Dummi md5() oder crypted ?
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)...
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.
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)?
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden