Passwort und Benutzername codieren

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

  • Passwort und Benutzername codieren

    Hi!

    Ich hab mal ne Frage.
    Ich möchte bei einem Login Benutzername und Passwort auf eine Datenbank übertragen. Das funktioniert auch. Allerdings soll Passwort und Benutzername codiert und auch wieder decodiert werden. Hat jemand Beispiele oder Infoseiten zu diesem Thema? Oder kann es jemand kurz und verständlich erklären?

    Bye... Björn

  • #2
    Das gleiche Problem hatte ich auch !!!

    Warum willst du das verschlüsseln ??? Wegen der sicherheit ???

    Wenn du das Passwort oder den Benutzernamen verschlüsselt überträgst kann man die genauso ausspionieren wie wenn du es unverschlüsselt überträgst, es gibt aber eine Möglichkeit, du könntest eine verschlüsselte Verbindung benutzen.

    Falls du es trotzdem so probierern willst probier es mit encode un decode!

    Kurze Erläuterung:

    Du musst Benutzername und Passwort in einem Formular eingeben, das das ganze an ein Loginscript weitergibt!

    Dann vergleichst du den eingegebenen Namen mit den Namen in deiner DB und liest die Daten aus. Nach dem du das getan hast vergleichst du das eingegebene Passwort mit dem aus der DB.

    Schon hast du nen Login !!!

    PHP-Code:
    /* Datenbankabfrage */
    $query  "SELECT pwd,level FROM members WHERE user = '".$user_name."'";
    $result MYSQL_QUERY($query,$db_connect);

    /* Ein Array erzeugen, in dem die Daten aus der Datenbank stehen */
    $zeileholen MYSQL_FETCH_ARRAY($result,MYSQL_ASSOC);

    if (!
    $zeileholen)
        die (
    "Diesen Benutzernamen gibt es leider nicht");

    /* Hier wird überprüft ob das PWD aus der Datenbank gleich dem eingegebenen ist */
    if ($zeileholen["pwd"]<>$user_pwd)
        die (
    "Sie haben leider, das falsche Passwort eingegeben"); 
    Hoffe das verständlich genug !!!

    Wenn nicht schau einfach mal hier, Login Tutorial !!!

    Kommentar


    • #3
      Danke erstma!

      Den Login ansich habe ich schon geschrieben. Funktioniert auch einwandfrei. Nun möchte ich noch verhindern das das Passwort und der Benutzername bei der Übertragung zur Datenbank nicht ausgelesen werden kann. Was meinst du wie das am besten funktioniert?

      Bye... Björn

      Kommentar


      • #4
        des geht höchstens mit nem SSL Server. ist aber wohl etwas teuer für so´n spielkram ....
        h.a.n.d.
        Schmalle

        http://impressed.by
        http://blog.schmalenberger.it



        Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
        ... nur ohne :-)

        Kommentar


        • #5
          Na hossa...
          Ja... Gibts dann ne Möglichkeit die Daten zu verschlüsseln? Sprich das wenns ausgelesen wird nur Datenmüll rauskommt?

          Bye... Björn

          Kommentar


          • #6
            guck doch mal ins handbuch
            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7
              Schlag mich tot, aber unter welchem Punkt?!
              Ich glaub ich bin zu blöd zum lesen... ;-)

              Bye... Björn

              Kommentar


              • #8
                ein guten Ansatz findest du unter http://www.php-resource.de/manual.ph....base64-decode

                gruß
                berni

                php-Entwicklung | ebiz-consult.de
                PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                die PHP Marktplatz-Software | ebiz-trader.de

                Kommentar


                • #9
                  Um Paswörter oder Usernamen zu verschlüsseln kannst Du auch den Befehl crypt() benutzen. Nachteil, das Passwort wird dann schon verschlüsselt in der Datenbank abgelegt und kann mit phpMyAdmin nur verschlüsselt angesehen werden.
                  Nähers dazu findest Du hier http://www.dynamicwebpages.de/php/
                  Einfach in der Suche "crypt" eingeben.
                  Hier findest Du auch Beispiele und Erklärungen zu allen anderen Befehlen.

                  Gruß, Andi

                  Kommentar


                  • #10
                    Ähm... Der Link auf Base64_Encode() ist tot! Und ohne den bringt auch der Decode nichts...

                    Kommentar


                    • #11
                      @Andi:

                      Zitat: "Der veschlüsselte String kann nicht entschlüsselt werden, da crypt() eine Einweg-Verschlüsselung ist."
                      Und wie kann dann die Datenbank was dem Verschlüsselten Passwort anfangen?

                      Kommentar


                      • #12
                        Mein Denkansatz hierbei wäre ein Script, in dem ich serverseitig sowohl bei der Generierung als auch bei der Auswertung eine Prüfsumme gegenrechne.
                        1. Eingabe des Passwortes/Kennziffer sowie Usernamen (ev. auch verschlüsselt)
                        2. Die letztendlichen Daten werden durch meine Algorythmus verschlüsselt gespeichert.
                        3. Beim Anmelden wird das ganze wieder entsprechend verglichen.

                        Bestes Beispiel für praktizierte Anwendung ist das TAN/PIN-Prinzip, wobei die TAN ein jeweilig generierter Zufallswert ist. Mit etwas Suche findet man dazu auch einiges.
                        Es wird also ein String übermittelt, der nur mit PIN und TAN einen Sinn ergibt

                        Kommentar


                        • #13
                          Selbe Beschreibungen findest Du auch hier:
                          http://www.dynamicwebpages.de/php/

                          Als Suchbegriff: "base64_decode" oder eben "base64_encode"

                          Kommentar


                          • #14
                            Original geschrieben von BjoernO
                            @Andi:

                            Zitat: "Der veschlüsselte String kann nicht entschlüsselt werden, da crypt() eine Einweg-Verschlüsselung ist."
                            Und wie kann dann die Datenbank was dem Verschlüsselten Passwort anfangen?
                            Also:
                            Es meldet sich ein neuer User an und gibt ein Passwort ein - dieses wird verschlüsselt in der DB abgelegt.

                            Beim nächsten Login, gibt er wieder sein Passwort ein, dieses verschlüsselst Du wieder und fragst in der DB ab ob die identisch sind. Quasi die gleiche Abfrage, nur eben mit verschlüsselten Daten.
                            Aus einem Passwort 1234, was einer benutzt, der sich keine schwierigen Passwörter merken kann wird dann so was wie 8R83hG$e38!Jw3.
                            Sowas kann dann auch zur weiteren Verifizierung auf anderen Seiten in der URL übergeben werden.
                            Der Vorteil: Selbst wenn das rauskopiert wird, kann man beim Login nichts damit anfangen, da dieser String ja dann wieder verschlüsselt werden würde und somit nicht identisch mit dem Original ist.

                            Gruß
                            Zuletzt geändert von andik2000; 22.07.2002, 12:46.

                            Kommentar


                            • #15
                              Danke an alle!

                              Ich glaub jetzt hab ich erstmal genug mit zu tun alles auszuprobieren!

                              Bye... Björn

                              Kommentar

                              Lädt...
                              X