phpMyAdmin, MD5 Passwort

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • phpMyAdmin, MD5 Passwort

    Hi Leute

    erst mal Sorry wenn ichs im falschen Forum poste sollte.

    Ich hab mir heute auf nem Webspace phpMyAdmin installiert und DBs von einem anderen WS importiert. Alles gut und Recht.

    Das Problem war dann allerdings, das zuvor funktionierende Loginscript geht nicht mehr.

    Das Passwort ist als MD5 verschlüsselt und funktionierte auf dem "alten" Server einwandfrei, auf dem neuen heissts einfach dass das Passwort falsch ist.

    Hier einige Eckdaten zum alten Server:
    MySQL Version: 4.0.25
    phpMyAdmin Version: 2.6.0-pl3
    PHP Version: 4.3.9

    neuer Server:
    MySQL Version: 4.0.24
    phpMyAdmin Version: 2.9.1.1
    PHP Version: 4.4.4

    Mehr weiss ich leider nicht, könnte es aber evtl. rausfinden.

    Wäre froh wenn mir da jemand helfen könnte.

    Danke schonmal im voraus
    DragonGun

  • #2
    Re: phpMyAdmin, MD5 Passwort

    Schuss ins Blaue: magic_quotes_gpc?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Danke für die schnelle Antwort, aber leider weiss ich nicht was du meinst

      Bin leider nicht so versiert in der Materie wie Du vielleicht bemerkt hast

      Kommentar


      • #4
        Damit meint er, dass er vermutet, dass bei der Übergabe des PW aus dem Formular ggf Zeichen automatisch von PHP escaped werden und dann natürlich der Hash Wert dieses String nicht mehr mit jenem aus der DB übereinstimmt.
        Sobald du das Login Form abgeschickt hast, machst du auf dem Empfangsseite am besten mal ein
        PHP-Code:
        var_dump($_POST); 
        und suchst nach dem PW Feld. Steht das PW dort so wie es sollte oder sind ggf noch Backslashes drinn, welche PHP automatisch angefügt hat ?

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Das einzige das ich damit rausbekomme ist:

          Code:
          array(2) { 0 }
          Code:
          array(2) { ["username"]=> string(5) "admin" ["zurueck"]=> string(6) "Zurück" }

          Kommentar


          • #6
            Und wer hat das Passwort gefressen?
            Nieder mit der Camel Case-Konvention

            Kommentar


            • #7
              Und welches davon ist dein PW ? Kann es sein, dass dieses Feld in diesem Array gar nicht vorkommt ? Oder ist es das Feld 'zurueck' ? Was eine sehr gute Wahl für den Namen eines PW Feldes wäre
              Also vllt postest du mal einen Auszug deines Forms und ggf ein paar Zeilen deines verarbeitenden Codes. Aber bitte nicht alles sondern nur die Zeilen wo es um die Prüfung der Login Daten geht +- max 10 Zeilen.

              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                Login:

                PHP-Code:
                <?php
                session_start
                ();
                require(
                "connect.inc.php");
                ?>
                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                <html>
                <head>
                    <title>Login</title>
                  <link rel="stylesheet" type="text/css" href="site/inhalt.css">
                  </head>
                  <body>
                  <?php if(!isset($_POST['submit'])) { ?>
                  <form action="<?php $PHP_SELF ?>" method="post">

                ......

                <?php
                  
                }elseif(!$_POST['username'] || $_POST['username'] == "") {
                    echo 
                '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="index.php">Zurück</a></p>';
                  }elseif(!
                $_POST['password'] || $_POST['password'] == "") {
                    echo 
                '<form action="index.php" method="post">';
                    echo 
                '<p align="center">Ein Passwort brauchen wir schon ;-)<br><br>';
                    echo 
                '<input type="hidden" name="username" value="'.$_POST['username'].'">';
                    echo 
                '<input type="submit" name="zurueck" value="Zurück">';
                    echo 
                '</p>';
                    echo 
                '</form>';
                  }else{
                    
                $password md5($password);
                    
                $query = @mysql_query("SELECT user, pass FROM users WHERE user = '".$_POST['username']."'") or die('Select ist fehlgeschlagen!');
                    
                $result = @mysql_fetch_array($query) or die('<p align="center">Sorry, aber dieser Benutzername existiert nicht!<br><a href="index.php">Zurück</a></p>');
                    if(
                $password != $result['pass']){
                      echo 
                '<form action="index.php" method="post">';
                      echo 
                '<p align="center">Sorry, aber dieses Passwort ist falsch!<br><br>';
                      echo 
                '<input type="hidden" name="username" value="'.$_POST['username'].'">';
                      echo 
                '<input type="submit" name="zurueck" value="Zurück"></p>';
                      echo 
                '</form>';
                      die;
                    }else{
                      
                $user $result['user'];
                      
                session_register('user');
                      echo 
                '<p align="center">Login erfolgreich! :-)<br><br><a href="site/index.php">Weiter</a></p>';
                    }
                  }
                  
                ?>
                index.php:

                PHP-Code:
                <?php
                  session_start
                ();
                  if(!
                session_is_registered('user') || $_SESSION['user'] == "") {
                    
                header("location:index.php");
                    die;
                  }
                  
                var_dump($_POST);
                  
                ?>

                Kommentar


                • #9
                  Also meine Glaskugel findet jetzt dass es wohl an register globals liegen könnte Schreibe mal statt
                  PHP-Code:
                  $password md5($password); 
                  einfach
                  PHP-Code:
                  $password md5($_POST['password']); 
                  Wobei sich mir aber immer noch die Frage stellt warum dein POST Array kein Feld password enthalten hat. Vllt hast du den dump an der falschen Stelle gemacht

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Kann gut sein dass ichs an der falschen Stelle eingefügt habe, aber der Tip mit den register globals hat voll gepasst.

                    Vielen vielen Dank!! Ich geb Dir n Bier aus

                    Kommentar


                    • #11
                      Original geschrieben von DragonGun
                      Vielen vielen Dank!! Ich geb Dir n Bier aus
                      OffTopic:
                      Soetwas könnte man doch mal einführen... nach jeder erfolgreichen Hilfestellung ein Bier ausgegeben bekommen.
                      Entschuldigt den OT.

                      Nieder mit der Camel Case-Konvention

                      Kommentar


                      • #12
                        Vielen vielen Dank!! Ich geb Dir n Bier aus
                        Bitte gerngeschehen, aber freu dich nicht zu früh Du hast noch andere Fehler/Don't dos drin
                        PHP-Code:
                        <form action="<?php $PHP_SELF ?>" method="post">
                        //besser
                        <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
                        <?php
                        if(!session_is_registered('user') || $_SESSION['user'] == "") {
                        //besser
                        if(isset($_SESSION['user']) && !empty($_SESSION['user'])){
                        //session_is_registered() ist veraltet !
                        header("location:index.php");
                        //besser
                        header("Location: http://deineDomain.de/index.php");
                        //header + Location sollten immer mit absoluten Pfaden gehandhabt werden
                        Gruss

                        tobi

                        p.s. schick mir das Bier doch als Attachment
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          Danke, habs mir notiert und werds ändern sobald ich dazu komme.
                          Bin jetzt erst mal froh dass es funktioniert mit dem einloggen

                          Hier noch dein Bier, frisch gezapft

                          Kommentar

                          Lädt...
                          X