f4e Geschrieben 29. September 2007 Geschrieben 29. September 2007 Moin zusammen, ich habe um eine Webseite zu schützen eine Verschlüsselung mit md5 erstellt... soweit so gut auf dem Entwicklungsserver (Win2000ADS, SP4, MySql 4.xxx, PHP 4.xxx) geht das alles..... nun habe ich, da ich sehr viel unterwegs bin, mir das ganze auf´s Laptop übertragen und betreibe auf dem Laptop(IBM T42, WinXp-Prof, Sp2) einen Wamp-Server (PHP5 usw.).... wenn ich diese verschlüsselte Seite nun auf dem Laptop aufrufe und mich anmelden möchte, sagt mir das script immer falschen username oder Password...dabei sind die einstellunge immer noch so wie auf dem Entwicklungs-Server.......... habe auch schon den User u. Password mehrfach geändert...kein erfolg..... Woran könnte das Problem liegen??? an PHP5???? oder bin ich einfach nur zu blööd Danke für eure hilfe Dieter in diesem Fall ist die Anmeldung nur zunm testen: User: master Password: kev3in das script mit dem ich mich anmelde..... <html> <head> <title>Login</title> </head> <body bgcolor="#000080"> <font face="Verdana" size="2" color="#ffffff"> <center> <?php if ((md5($user) == "eb0a191797624dd3a48fa681d3061212") and (md5($pass) == "129a55cd87f57aa38b606a5374325727")) { echo " <html> <head> <title>Login</title> </head> <body bgcolor=\"#000080\"> <font face=\"Verdana\" size=\"usw..... "; } else { echo "<b>Falscher Username oder Passwort !</b>"; } ?> </center> </font> </body> </html> Zitieren
flashpixx Geschrieben 29. September 2007 Geschrieben 29. September 2007 Hallo, if ((md5($user) == "eb0a191797624dd3a48fa681d3061212") and (md5($pass) == "129a55cd87f57aa38b606a5374325727")) wo werden die beiden Variablen für Username und Passwort gesetzt? So wie ich das sehe gilt: isset($user) == isset($pass) == false [/PHP] HTH Phil Zitieren
Nachwuchsinformatiker Geschrieben 29. September 2007 Geschrieben 29. September 2007 Hi f4e, also erstmal ist MD5 keine Verschlüsselungsart sondern ein Hashingverfahren. Zweitens wäre es vielleicht einfacher zur Problemlösung wenn du den Rest des Codes auch noch dazuposten könntest, da ich mir aus deinem Script nicht erschließen kann wo $user und $pass herkommt. Das Problem liegt meines Erachtens wohl weniger in der Überprüfung sondern eher bei der Übergabe der Variablen. Falls du dich noch ein wenig mit MD5 auseinandersetzen willst: Webmaster Resource: Tipps & Tricks: PHP: Passwort verschlüsseln Passwortschutz: md5-Codierung - PHP Passwort-Schutz - Webdesign - Education - jomo.org Grüße Zitieren
f4e Geschrieben 30. September 2007 Autor Geschrieben 30. September 2007 Hallo, denke nicht das es an der Übermittlung liegt, da s auf einem Entwicklunngsserver mit PHP4 einwandfrei geht. Ich habe mir um nicht immer an diesen Server zu müssen auf´m laptop Wamp installiert...ist einfacher das kann ich dann von Unterwegs weiter an dieser Sache arbeiten..... nur auf dem instalierten Wamp (also auf`m Laptop) läuft alles so wie auf dem Entwicklungsserver auch, nur die Anmeldung auf eine Adminseite geht nicht...... aber ich gebe dir das Script der Anmeldeseite einmal, vielleicht ist da wirklich ein fehler in der ganzen Sache, was ich im moment aber nicht glaube..... </head> <body bgcolor=#FFFFFF background=../images/bg.gif leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 > <table width=900 height=686 border=0 align=center cellpadding=0 cellspacing=0 class=border> <tr> <td width=901 height=82 class=header></td></tr> <tr> <td height=540 valign=top background=images/bg_maintable.gif bgcolor=#efefef> <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#efefef"> <tr> <td width="85%"><span class=Stil1> <span class="Stil2">Administrationsbereich</span> </span></td> <td width="15%"><div align="center"><a href=# onClick=JavaScript:self.close() >Fenster schließen</a></div></td> </tr> </table> <table width="100%" height=100% border="0" cellspacing="0" cellpadding="0"> <tr> <td height="302" valign=middle><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><form action="index.php" method="post"> <center> <table width="235" border=0 align="center"> <tr> <td align="left"><font face="Verdana" size="2" color="#999999"><b>Username:</b></font></td> <td align="center"><input type="text" name="user"></td> </tr> <tr> <td align="left"><font face="Verdana" size="2" color="#999999"><b>Passwort:</b></font></td> <td align="center"><input type="password" name="pass"></td> </tr> <tr> <td> </td> <td align="center"><input type="submit" name="senden" value=" Absenden "></td> </tr> </table> </center> </form></td> Gruss Dieter Zitieren
flashpixx Geschrieben 30. September 2007 Geschrieben 30. September 2007 Hallo, wenn das deine Scripte sind, dann fehlt in deinem PHP Script das auslesen der Formdaten zu Beginn: $user = (isset($_POST_VARS["user"]) ? $_POST_VARS["user"] : NULL); $pass = (isset($_POST_VARS["pass"]) ? $_POST_VARS["pass"] : NULL); [/PHP] Phil Zitieren
Cadpax Geschrieben 30. September 2007 Geschrieben 30. September 2007 Ich vermute mal, dass register globals off ist. Das ist die Standardkonfiguration von PHP5. Was auch unbedingt so bleiben sollte (siehe Link). if ((md5($_POST['user']) == "eb0a191797624dd3a48fa681d3061212") and (md5($_POST['pass']) == "129a55cd87f57aa38b606a5374325727")) [/PHP] Mit freundlichen Grüßen, Cadpax Zitieren
lupo49 Geschrieben 1. Oktober 2007 Geschrieben 1. Oktober 2007 Du musst auch aufpassen bei der Generierung der Md5-Summe, da wenn du bspw. die MD5-Summe ueber die Kommandozeile generiert hast, unterscheidet die sich von der Zeichenkette die per md5() generiert wurde. Dies ruehrt daher das via Kommandozeile automatisch ein Newline hinten drangehaengt wird. -> lupo49@neptun:~$ echo "foo" | md5sum d3b07384d113edec49eaa6238ad5ff00 - php -r "echo md5('foo');" acbd18db4cc2f85cedef654fccc4a4d8 Zitieren
Gruni Geschrieben 7. Oktober 2007 Geschrieben 7. Oktober 2007 Die Lösung liegt, wie hier schon geschrieben, an der PHP-Konfiguration: Kontrolliere mal mittels der Funktion phpinfo(); auf beiden Computern die Einstellung "register_globals". Zitieren
hijacker Geschrieben 8. Oktober 2007 Geschrieben 8. Oktober 2007 Du musst auch aufpassen bei der Generierung der Md5-Summe, da wenn du bspw. die MD5-Summe ueber die Kommandozeile generiert hast, unterscheidet die sich von der Zeichenkette die per md5() generiert wurde. Dies ruehrt daher das via Kommandozeile automatisch ein Newline hinten drangehaengt wird. -> lupo49@neptun:~$ echo "foo" | md5sum d3b07384d113edec49eaa6238ad5ff00 - php -r "echo md5('foo');" acbd18db4cc2f85cedef654fccc4a4d8 Richtig, in deinem Fall. Die korrekte md5sum via Kommandozeile läßt sich aber auch einfacher generieren: zinn@beastie: ~ howdy :> md5 -s foo MD5 ("foo") = acbd18db4cc2f85cedef654fccc4a4d8 Und gematched zur weiteren Verwendung: zinn@beastie: ~ howdy :> md5 -s foo |grep -io "[a-z0-9]+$" acbd18db4cc2f85cedef654fccc4a4d8 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.