TiMmEkK Geschrieben 2. Oktober 2008 Geschrieben 2. Oktober 2008 hey leute. ichweiss nicht warum es nicht geht. ich möchte gerne, dass mein Passwort als MD5 Wert in der Datenbank steht. nur leider schreibt er es bei meinem Insert immer im Klartext rein. was ist hier falsch. sql("INSERT INTO user (nick, vor, nach, password, adminstatus) VALUES ('".$_POST['nick']."','".$_POST['vor']."', '".$_POST['nach']."', md5('".$_POST['password']."'),'".$_POST['admin']."')"); Zitieren
Crash2001 Geschrieben 2. Oktober 2008 Geschrieben 2. Oktober 2008 Evtl könnte das daran liegen, dassl es nicht als Funktion interpretiert wird so wie du es schreibst. Ich gehe einfach mal von PHP aus. Lass PHP das einfach vor der Übergabe in die "POST-Variable" schon in einen MD5-Hash konvertieren und speicher diesen dann in der Datenbank. Zitieren
bytebrain Geschrieben 2. Oktober 2008 Geschrieben 2. Oktober 2008 Hi, machs mal so: sql("INSERT INTO user (nick, vor, nach, password, adminstatus) VALUES ('".$_POST['nick']."','".$_POST['vor']."', ''".$_POST['nach']."', '".md5($_POST['password'])."','".$_POST['admin']."')"); [/PHP] Grüße, bytebrain Zitieren
TiMmEkK Geschrieben 2. Oktober 2008 Autor Geschrieben 2. Oktober 2008 danke schon mal. aber es funktioniert leider nicht. ich hab auch schon versucht den $_POST vorher in hash zu konvertieren. jedoch macht er dies auch nicht. ich versteh das nicht. muss wirklich an dem $_POST liegen da ich es mit klartexten hinbekomme, diese in die datenbank als hash zu schreiben komisch Zitieren
bytebrain Geschrieben 2. Oktober 2008 Geschrieben 2. Oktober 2008 danke schon mal. aber es funktioniert leider nicht. ich hab auch schon versucht den $_POST vorher in hash zu konvertieren. jedoch macht er dies auch nicht. ich versteh das nicht. muss wirklich an dem $_POST liegen da ich es mit klartexten hinbekomme, diese in die datenbank als hash zu schreiben komisch Wie konvertiert man denn einen String in einen Hash :confused: String = Zeichenkette Hash = assoziatives Array Ich kann dir grad nicht folgen Grüße, bytebrain Zitieren
Mike1990 Geschrieben 2. Oktober 2008 Geschrieben 2. Oktober 2008 sql("INSERT INTO user (nick, vor, nach, password, adminstatus) VALUES ('".$_POST['nick']."','".$_POST['vor']."', ''".$_POST['nach']."', '".MD5($_POST['password'])."','".$_POST['admin']."')"); Dieser befehl müsste aber gehen. Speichert der das Passwort so wie es eingegeben wurde in die Datenbank? Oder macht der gar nichts? Kommt eine Fehlermeldung? Oder keine? Und noch ein kleiner tipp.. bei deinen sql befehl kann jeder der auch nur ein bisschen ahnung hat mysql injection verwenden. Darauf musst du auch achten das das keiner ausnutzt. Mfg Mike1990 Zitieren
TiMmEkK Geschrieben 2. Oktober 2008 Autor Geschrieben 2. Oktober 2008 das PW wird so in die datenbank gespeichert wie ich es eingegeben habe. Zitieren
bytebrain Geschrieben 2. Oktober 2008 Geschrieben 2. Oktober 2008 Was macht denn // DEBUG print md5("Hallo Welt"). "\n"; [/PHP] :confused: Wenn das auch nicht funzt steht dir die Funktion aus irgendwelchen Gründen nicht zur Verfügung. Grüße, bytebrain Zitieren
TiMmEkK Geschrieben 2. Oktober 2008 Autor Geschrieben 2. Oktober 2008 das funktioniert ja. ich hab es ja schon mal anderweitig gestet: $pass = "hallo"; $nick="timm"; sql("insert into user (nick, password) VALUES ('".$nick."', md5('".$pass."'))");[/PHP] Zitieren
bytebrain Geschrieben 2. Oktober 2008 Geschrieben 2. Oktober 2008 (bearbeitet) das funktioniert ja. ich hab es ja schon mal anderweitig gestet: $pass = "hallo"; $nick="timm"; sql("insert into user (nick, password) VALUES ('".$nick."', md5('".$pass."'))");[/PHP] Und das hat funktioniert??? Dann mach halt $pass = md5($_POST['passwort']); Grüße, bytebrain Edit: Das funzt bei mir wunderbar: [PHP] $str1 = "string"; $str2 = md5("Hallo Welt"); $sql = "INSERT INTO `table` (`value1`, `value2`) VALUES('$str1', '$str2');"; print $sql. "\n"; Bearbeitet 2. Oktober 2008 von bytebrain Zitieren
TiMmEkK Geschrieben 2. Oktober 2008 Autor Geschrieben 2. Oktober 2008 ja, das funzt auch super bei mir, nur eben nicht wenn ich das post da reinnehme. nur dann nicht. ganz komisch Zitieren
bytebrain Geschrieben 2. Oktober 2008 Geschrieben 2. Oktober 2008 Aber in $_POST['passwort'] steht schon was drin? Zitieren
Aiun Geschrieben 2. Oktober 2008 Geschrieben 2. Oktober 2008 evtl. ein utf8 Problem ? wenn dein post als utf8 kommt, der md5 den aber nicht verträgt ? (geraten, nicht getestet) Zitieren
geloescht_JesterDay Geschrieben 2. Oktober 2008 Geschrieben 2. Oktober 2008 ja, das funzt auch super bei mir, nur eben nicht wenn ich das post da reinnehme. nur dann nicht. ganz komisch Dann lass das POST eben raus, ist eh sicherer. Also ... $user = mysql_real_escape_string($_POST["user"]); $pass = mysql_real_escape_string($_POST["passwort"]); $sql = "insert into user (user, pass) values ($user, md5('$pass'))"; ... [/PHP] siehe PHP: mysql_real_escape_string - Manual 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.