Login Problem

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

  • Login Problem

    Hallo zusammen!

    Ersteinmal muss ich euch sagen, dass ich ein absoluter Newbie auf dem
    Gebiet bin. Ich weiss zwar, dass es keine dummen Fragen gibt, jedoch
    befürchte ich, dass ich das widerlegen werde

    ok, nun aber zu meinem Problem:

    Ich habe eine Datenbank names "login" in der u.a. Felder names "id", "user"
    "password" und "pwlong" sind.

    Ein kleines Loginscript connected halt zu DB, um 2 Daten (user & password)
    abzufragen, um dann den Zutritt zu gewähren.

    "user" ist z.B. user1; das "password"-Feld ist leer und das "pwlong"-Feld ist
    "1f3870be274f6c49b3e31a0c6728957f"

    Der user müsste sich also mit "user1" als Benutzernamen und mit "apple" als Passwort einloggen.
    Aber nix is. Denn da das Passwort-Feld "password" leer ist und ich nur
    das "pwlong" prüfen kann, kann er sich auch nur mit diesem Passwort
    einloggen

    Unter "Passwort vergessen?" wird dann das Passwort einem zugeschickt,
    jedoch ist es das "pwlong". Ich möchte aber, dass das Feld "password"
    das "normale" Passwort beinhaltet.
    "1f3870be274f6c49b3e31a0c6728957f" (pwlong) ist nämlich eigentlich "apple"
    (password), welches aber wie schon oben geschrieben nicht im dem Feld "password" drin steht.

    Wie bekomm ich das hin, dass entweder das Passwort "pwlong" auch in das
    Feld "password" (automatisch?!) also "apple" eingetragen wird oder, dass
    halt das "pwlong" vor dem verschicken bei "Passwort-Verlust" wieder als
    "eigentliches" Passwort nämlich "apple" verschickt wird und nicht der Kauderwälsch.

    Ich hoffe, daß mein erster Beitrag nun nicht zu sehr für Verwirrung sorgt - wenn mir
    da jemand helfen kann bzw. möchte und noch Fragen offen sind - nur zu, ich
    versuch so gut ich kann Angaben dazu zu machen.

    Vielen Dank!!
    Der Gast

    Anmerkung : och, ich hatte eigentlich "MySQL 3.23.x" gewählt - ist aber wohl nach der Vorschau verloren gegangen.
    Es gibt keine dummen Fragen - nur dumme Antworten,
    auch wenn ich der Meinung bin, dies zu widerlegen!

  • #2
    schaue dir das tut an .... http://www.php-resource.de/tutorials/read/38/1/

    - studiere es.
    - staune
    - passe dein script an

    alles klar ...


    ps. deine frage ist schon sehr verwirrend formuliert. auch macht es wenig sinn, das passwort plain und md5-kodiert zu speichern.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      1. in pwlong steht "apple" in einer verschlüsselten form (=> md5())
      d.h. du musst deine abfrage in der art bauen
      PHP-Code:
      $sql "select from tabelle where user='".$_POST['user']."' and pwlong='" md5($_POST['passwort'] ) . "'"
      2. um es sicher zu machen, solltest du dem user bei einem vergessenen passwort nicht das alte zusenden, sondern ein neues passwort generieren und dieses per mail versenden. damit benötigst du auch kein klares passwort in der datenbank (sicherheitslücke). der user kann das generierte passwort später wieder in ein für ihn leichter merkbares umändern.

      EDIT:
      grmpf
      haxe ist mal wieder schneller ... aber jetzt hab ichs schon getippt also raus damit

      Kissolino.com

      Kommentar


      • #4
        Vielen Dank für eure Mühen. Ich habe mich da durchgearbeitet und es
        hat auch funktioniert, aber sobald ich das meinen Bedürfnissen - also
        den Feldern meiner DB angepasst habe - bin ich gescheitert.

        Es liegt wohl daran, dass das Passwort anders verschlüsslt ist.

        Wenn ich nämlich mit dem folgenden den "Gegencheck" mache, so kommt
        nichts
        - das Passwort ist somit nicht korrekt!
        PHP-Code:
        <?php
        $password 
        'mein_pw';
        if (
        md5($password) === '7239f66d145cb4de3762622361026538')
        {
        echo 
        "Passwort ok!";
        exit;
        }
        ?>
        7239... ist natürlich richtig - ich habe das ausgegebene verschlüsselte Passwort
        den Tabelle entnommen. Daher ja auch das netagive Ergebnis.
        Mit "7239f66d145cb4de3762622361026538" kommt natürlich die Ausgabe "Password ok!" - jedoch nicht mit dem Password aus der Tabelle.

        In den anderen Dateien steht immerwieder was von "auth", also htaccess?!
        Und das ist wie es den anschein hat nicht per md5 verschlüsselt?! (keinen Plan)

        Oh man ...
        Zuletzt geändert von guest0815; 10.09.2003, 15:08.
        Es gibt keine dummen Fragen - nur dumme Antworten,
        auch wenn ich der Meinung bin, dies zu widerlegen!

        Kommentar


        • #5
          mein SQL sagt:
          Code:
          mysql> select md5('mein_pw');
          +----------------------------------+
          | md5('mein_pw')                   |
          +----------------------------------+
          | 7239f66d145cb4de3762622361026538 |
          +----------------------------------+
          1 row in set (0.05 sec)
          wie kommst du auf deinen wert 6$1251Gr413f6g49h6e71h0d6s2a955g?
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            oh Tschuldigung

            Werd den Beitrag gleich mal fix editieren, damit es nicht zu Mißverständnissen kommt.

            Die Zeichenkette stand in der Tabelle drin und ist wie bereits geschrieben anscheinend
            kein "md5 password".
            Es gibt keine dummen Fragen - nur dumme Antworten,
            auch wenn ich der Meinung bin, dies zu widerlegen!

            Kommentar


            • #7
              geht's denn jetzt?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Hallo mrhappiness!

                Ich wünschte ich könnte mich an deinem nick orientieren

                Nein, es geht leider nicht. Wollte aber noch nichts weiteres schreiben,
                ohne euch Helfern (danke nochmal für eure Bemühungen!) mehr Infos
                liefern zu können, was ich aber nun ändern möchte!

                Ich hab mir mal alles mehr oder weniger in Ruhe angeschaut. Das Passwort
                welches in das Feld "passwort" eingetragen wird ist nicht plain-Text und
                auch nicht md5-"codiert" in der Tabelle. Es handelt sich um ein htaccess-Passwort.

                Wie ich herausgefunden habe, gibt es da wohl einen Befehl "crypt" ...

                Auch habe ich gelesen, dass keines der Verfahren (fast nicht) entschlüsselt
                werden kann. Muss ich mich denn nun mit dem Gedanken anfreunden, dass
                ich dem Besucher nicht das Passwort bei Verlust zusenden kann?

                Oder wie kann/muss ich das verwenden, dass der Besucher das Passwort
                so bekommt, wie er es auch eingegeben hat?

                Danke!
                Der Gast

                Ergänzung:
                Hab nochwas gefunden:
                "CRYPT_MD5 - MD5-Schlüssel mit 12-Zeichen Salt, beginnend mit $1$"

                Das Password in der DB ist nach diesem "Muster" aufgebaut, also "mit $1$" beginnend.
                Zuletzt geändert von guest0815; 10.09.2003, 15:42.
                Es gibt keine dummen Fragen - nur dumme Antworten,
                auch wenn ich der Meinung bin, dies zu widerlegen!

                Kommentar


                • #9
                  sql bietet dir neben MD5 noch PASSWORD als verschlüsselung, aber ob das das gleiche is wie bei .htaccess...?

                  was spricht denn dagegen das mit MD5 zu machen?

                  wenn du ein passwort durch ne einwegverschlüsselung jagst, wie z.B. MD5 oder crypt oder oder oder, dann kommst du nicht mehr an das originalpasswort dran. du musst dir dann ein neues passwort generieren, es dem user zuschickenund (ebenfalls verschlüsselt) wieder in der datenbank speichern
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar

                  Lädt...
                  X