PHP_AUTH USER & PW Übergabe

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

  • PHP_AUTH USER & PW Übergabe

    Hallo Leute,
    ich stecke etwas in der Klemme und komm alleine nicht mehr raus,
    deswegen bitte ich euch mir zu helfen.

    Für einen User-Bereich ist folgende Abfrage

    PHP-Code:
    <?php

        
    include "includes/conn.php";

        global 
    $username;
        global 
    $password;

        if(!empty(
    $username) && !empty($password))
        {
            
    $PHP_AUTH_USER=$username;
            
    $PHP_AUTH_PW=$password;
        }

        if(!empty(
    $PHP_AUTH_USER) && !empty($PHP_AUTH_PW))
        {
            
    $password=MD5($PHP_AUTH_PW);
            
    $res=mysql_query("SELECT * FROM `member` WHERE 1 AND `username` LIKE '$PHP_AUTH_USER' AND `password` LIKE '$password'")
                            or die(
    "<center>Fehler in der Datenbank</center>");
            
    $num=mysql_num_rows($res);
            
    $userdata=mysql_fetch_array($res);

            if(
    $num=="1" && $userdata["aktiv"]=="1")
            {
                echo 
    "Login OK";
            }
            else
            {
                
    abfrage();
            }
        }
        else
        {
            
    abfrage();
        }
            
        function 
    abfrage()
        {
            
    header('WWW-Authenticate: Basic realm="Style Or Die - Login"');
            
    header('HTTP/1.0 401 Unauthorized');

            echo 
    "Fehler beim Login!";

            exit;
        }

    ?>
    Es gibt 2 Möglichkeiten sich einzulogen,
    - Formular
    - WWW-Authenticate

    Das Formular übergibt die werte $username und $password an die login.php (siehe Quelltext)

    Wenn man sich jetzt über WWW-Authenticate einloggt,
    so funktionirt alles, aber wenn man sich über das Formular einloggt,
    so erscheit bei benutzung eines links (login.php?unterseite=links)
    das Eingabefenster von WWW-Authenticate.

    PS: alle Links im geschützten Bereich werden an login.php übergeben.
    (z.B. login.php?unterseite=links / login.php?unterseite=home)


    ich hoffe jemand kann mir helfen ...

    dank an alle, die helfen

  • #2
    Re: PHP_AUTH USER &amp; PW Übergabe

    ich würd das gesamte Einloggen mit dem Popup rausschmeißen...das funktioniert nicht richtig, das Ausloggen hat Fehler und es entstehen Sicherheitslücken!
    Wieso brauchst du überhaupt beide Varianten in einem?

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      OffTopic:
      @ghostgambler

      es wäre toll, wenn deine sig nicht die länge deiner postings überschreitet ... mit anderen worten: mach datt ding deutlich kleiner. danke.
      Kissolino.com

      Kommentar


      • #4
        Original geschrieben von Wurzel
        OffTopic:
        @ghostgambler

        es wäre toll, wenn deine sig nicht die länge deiner postings überschreitet ... mit anderen worten: mach datt ding deutlich kleiner. danke.
        OffTopic:
        Ohje......einerseits regt man sich über meine Sig auf, anderer seits interessiert es hier niemanden was gepostet wird? siehe:
        http://www.php-resource.de/forum/ann...?s=&forumid=53
        .....irgendwie find ich das "etwas" komisch...naja, egal *killed*

        btw. finde ich so einen Text immernoch besser, als irgendwelche Aufrufe zum Testen eines Skriptes *hust*

        noch ein btw. die kürze dieses Postings war mehr Ausnahme XD

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Ich brauch den Formular Login, damit man sich direkt von der Site einloggen kann.

          und der WWW-Authenticate ist dafür da, alles abzufangen, was falsch ist,
          und bietet die Möglichkeit es noch einmal zu versuchen.

          Kommentar


          • #6
            Original geschrieben von Cornelius
            Ich brauch den Formular Login, damit man sich direkt von der Site einloggen kann.

            und der WWW-Authenticate ist dafür da, alles abzufangen, was falsch ist,
            und bietet die Möglichkeit es noch einmal zu versuchen.
            Du kannst doch auch einfach das Formular nochmal ausgeben lassen....das ist ganz einfach, wenn du Formular+Einlogg-Skript in einer Datei hast

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              Original geschrieben von ghostgambler
              Du kannst doch auch einfach das Formular nochmal ausgeben lassen....das ist ganz einfach, wenn du Formular+Einlogg-Skript in einer Datei hast
              Und wie kann ich den Benutzernamen und das Passwort verstekt
              übergeben, ohne dass es im Link auftaucht
              (z.B. *.php?username=xx&pw=1234...)?

              Session würde ich ungern benutzen.

              Kommentar


              • #8
                Original geschrieben von Cornelius
                Und wie kann ich den Benutzernamen und das Passwort verstekt
                übergeben, ohne dass es im Link auftaucht
                (z.B. *.php?username=xx&pw=1234...)?

                Session würde ich ungern benutzen.
                echo "<form action='" . $_SERVER['PHP_SELF'] . "' method='post'>";

                [edit]im Formular....hast du gar keine Ahnung davon, was du da machst? Also das ist eine Grundlage.....such mal nach $_POST und $_GET und auch nach dem Method_Attribut (auf selfhtml oder so) und setz dich erstmal damit auseinander, bevor du weitermachst!!!

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  bez: www-authenticate: http://www.php-resource.de/forum/sea...der=descending

                  ansonsten:
                  - was spricht gegen sessions (+ cookie)?
                  - warum übergibst du die daten nicht per POST?
                  - wenns ein "hochsicherheitstrakt" ist, arbeite doch mit ssl
                  Kissolino.com

                  Kommentar


                  • #10
                    Original geschrieben von ghostgambler
                    echo "<form action='" . $_SERVER['PHP_SELF'] . "' method='post'>";

                    [edit]im Formular....hast du gar keine Ahnung davon, was du da machst? Also das ist eine Grundlage.....such mal nach $_POST und $_GET und auch nach dem Method_Attribut (auf selfhtml oder so) und setz dich erstmal damit auseinander, bevor du weitermachst!!!
                    danke, mit formularen kenne ich mich recht gut aus,
                    und dass es mit $_POST, $_GET und $_REQUEST geht.

                    nur weil ich in diesem Forum Newbie mit 25 beiträgen bin,
                    heißt es nicht, dass ich mich nicht mit HTML und PHP auskenne.

                    der obere quellcode ist ein Beispiel der auch funktioniert,
                    bis auf den einen Fehler, dass die übergebenen Variablen
                    vom Formular nicht WWW-Authenticate aufgenommen werden.

                    @ Wurzel

                    ich habs mir scho überlegt das mit ne session zu machen,
                    sollte ich für dies prob. keine lösung finden, so werde ich
                    auch keine andere wahl haben, als sessions zu nehmen.

                    ssl ist keine schlechte idee, aber das wäre zu viel des guten

                    Kommentar


                    • #11
                      Original geschrieben von Cornelius
                      der obere quellcode ist ein Beispiel der auch funktioniert,
                      bis auf den einen Fehler, dass die übergebenen Variablen
                      vom Formular nicht WWW-Authenticate aufgenommen werden.
                      wenn ich das richtig auf der latte habe, musst du bei einem erfolgreichen login (via sql-abfrage)
                      zusätzlich einen entsprechenden header senden, damit die authentifizierung per htaccess
                      funktioniert.

                      dass die pwds in der htpasswd nicht md5-verschlüsselt sind, setz ich mal als bekannt voraus.
                      Kissolino.com

                      Kommentar


                      • #12
                        ich kenne es bisher nur, dass der benutzername und kennwort über die "Dialogbox" eingegeben wird.

                        dieser zusätzliche header den du ansprichst, ist mir leider unbekannt.
                        auch die suche bei google ist erfolgslos, da alle gefundenen seiten
                        arbeiten mit dieser Dialogbox, die von WWW-Authenticate
                        angezeigt wird.
                        Zuletzt geändert von Cornelius; 22.11.2004, 18:20.

                        Kommentar


                        • #13
                          Original geschrieben von Cornelius
                          danke, mit formularen kenne ich mich recht gut aus,
                          und dass es mit $_POST, $_GET und $_REQUEST geht.

                          nur weil ich in diesem Forum Newbie mit 25 beiträgen bin,
                          heißt es nicht, dass ich mich nicht mit HTML und PHP auskenne.
                          Du solltest vielleicht trotzdem dich erst mit den Grundlagen beschäftigen, anstatt gleich mit "Höherem" anzufangen...ich weiß, manchmal kann man gewisse Grundlagen auch später noch lernen (Ich hab die Arrays am Anfang ausgelassen, weil ich keinen Bock hatte XD), aber das mit Post/Get und den Superglobalen Variablen sollte man schon drauf haben....in der PHP-Manual stehen auch alles superglobalen Variabeln + Bedeutung drin, vielleicht könnte das auch für dich interessant sein....ich weiß nur grad nicht wo, aber wenn du den Namen einer Superglobalen Variablen eingibst, solltest du die Seite finden ^_~


                          btw @ wurzel:
                          Wie kommst du plötzlich auf htaccess???
                          Zuletzt geändert von ghostgambler; 22.11.2004, 18:24.

                          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                          Wie man Fragen richtig stellt

                          Kommentar


                          • #14
                            @ ghostgambler

                            ich beschäftige mich ständig mit Grundlagen und auch "Höherem",
                            bin ebenfalls immer bereit was neues zu lernen.

                            Kommentar


                            • #15
                              Original geschrieben von Cornelius
                              @ ghostgambler

                              ich beschäftige mich ständig mit Grundlagen und auch "Höherem",
                              bin ebenfalls immer bereit was neues zu lernen.
                              na dann

                              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                              Wie man Fragen richtig stellt

                              Kommentar

                              Lädt...
                              X