Binni: nutzererfassung

Hallo zusammen,

sagt mal, wie erkennt dieses Forum eigentlich seine eingelogten Nutzer? Wie werden hier die Informationen zwischen Client und Nutzerdaten hergestellt?

Danke und viele Grüße - Binni

--
www.GTR-Home.de
  1. Hello,

    sagt mal, wie erkennt dieses Forum eigentlich seine eingelogten Nutzer? Wie werden hier die Informationen zwischen Client und Nutzerdaten hergestellt?

    Über ein   WWW-Authenticate: Basic realm="SELFHTML Forum"

    Und Dein Browser sendet CN und PW jedes Mal mit, daran bist Du dann am Server erkennbar.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. danke

      Über ein   WWW-Authenticate: Basic realm="SELFHTML Forum"

      und gibts da ein gutes tutorial dazu, wo man dahintersteigen kann, wie soetwas funktinert?

      Viele Grüße - Binni

      --
      www.GTR-Home.de
      1. hab schon was gefunden, danke :)

        http://www.usegroup.de/software/phptutorial/ausgabefunktionen.html#authenticate

        Viele Grüße - Binni

        --
        www.GTR-Home.de
      2. Hello,

        Der Server sendet einen Header, der zur Authentifizierung auffordert.

        Als Einstirg könnte Dir diese Seite dienen:
        http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=Authentication

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

        1. Hello,

          Der Server sendet einen Header, der zur Authentifizierung auffordert.

          Als Einstirg könnte Dir diese Seite dienen:
          http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=Authentication

          Die Seite war doch nicht so das Pralle :-(

          Mit PHP taugt diese hier etwas: http://de.php.net/features.http-auth
          Und etwas basisorientierter erstmal für den Server
          http://httpd.apache.org/docs/2.0/howto/auth.html

          Harzliche Grüße vom Berg
          http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau

          1. hallo,

            Der Server sendet einen Header, der zur Authentifizierung auffordert.

            und damit das ganze funktioniert, muss php als apache-modul laufen, hab ich jetzt gelesen und so wie ich mir das anschaue hab ich da pech oder?

            schaut mal bitte:

            root.esc-now.de/test.php

            Viele Grüße - Binni

            --
            www.GTR-Home.de
            1. Hello,

              Der Server sendet einen Header, der zur Authentifizierung auffordert.

              und damit das ganze funktioniert, muss php als apache-modul laufen, hab ich jetzt gelesen und so wie ich mir das anschaue hab ich da pech oder?

              schaut mal bitte:

              root.esc-now.de/test.php

              Sieht so aus:

              Server API  CGI

              Da kannst Du aus PHP angeblich nicht auf die Credentials
              $_SERVER['PHP_AUTH_USER'] und $_SERVER['PHP_AUTH_PW']
              zugreifen.

              Aber in dem Array http://de.php.net/manual/de/function.getallheaders.php
              müssten die beiden Werte trotzdem enthalten sein.
              Der Client kann sie ja trotzdem senden.

              Ich werde das gleich mal ausprobieren, habe aber PHP nicht als CGI zur Verfügung, bzw. ich habe den Apachen nicht (nicht mit PHP als Modul).
              Vielleicht klappt es, wenn ich PHP einfach als CGI deklariere mit einer anderen Dateiendung?

              Harzliche Grüße vom Berg
              http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau

              1. Hello,

                Aber in dem Array http://de.php.net/manual/de/function.getallheaders.php
                müssten die beiden Werte trotzdem enthalten sein.

                Scheinbar auch keine gute Idee.
                Nun steht's drin im Manual, dass das auch nicht gehen soll.

                Aber irgendwo müssen doch die Header des Requests auch bei der PHP-CGI-Version bleiben...

                Harzliche Grüße vom Berg
                http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau

                1. Moin!

                  Aber in dem Array http://de.php.net/manual/de/function.getallheaders.php
                  müssten die beiden Werte trotzdem enthalten sein.

                  Scheinbar auch keine gute Idee.
                  Nun steht's drin im Manual, dass das auch nicht gehen soll.

                  Aber irgendwo müssen doch die Header des Requests auch bei der PHP-CGI-Version bleiben...

                  $_SERVER['REMOTE_USER'] ist der authentifizierte Username aus der Benutzerdatenbank.

                  Die Originalheader sind nicht notwendig. Insbesondere weil PHP als CGI den Server nicht dazu veranlassen kann, dem Browser die Header zu schicken, die den Passwortdialog anwerfen.

                  Man muß also zwingend due Authentifizierung im Webserver konfigurieren (im Apache z.B. mit .htaccess) - und ist dementsprechend gezwungen, auch die Benutzerdatenbank auf diesem externen Wege abzufragen. PHP erhält dann nur die Requests, bei denen die Benutzerdaten korrekt sind.

                  - Sven Rautenberg

                  --
                  My sssignature, my preciousssss!
                2. echo $begrüßung;

                  Aber irgendwo müssen doch die Header des Requests auch bei der PHP-CGI-Version bleiben...

                  Im Server. Wenn der sie nicht rausrückt, sprich: sie in irgendwelchen Umgebungsvariablen ablegt, hat sie kein CGI-Programm zur Verfügung.

                  Es gibt $SERVER['REMOTE_USER']. Wenn man die Authentifizierung dem Webserver überlässt, hat man darin wenigstens den Benutzernamen.

                  echo "$verabschiedung $name";

                  1. hallo,

                    Es gibt $SERVER['REMOTE_USER']. Wenn man die Authentifizierung dem Webserver überlässt, hat man darin wenigstens den Benutzernamen.

                    d.h. wenn ich das richtig verstanden habe, nehme ich bei der CGI-Version $SERVER['REMOTE_USER'], habe damit den Benutzernamen denn ich dan in meiner DB wiederfinde und  gucken ob der Nutzer rein darf macht dann der Apache per htaccess

                    alles richtig soweit? - if($question){echo "Juhu!";} else{echo "Was ist falsch?";}

                    Viele Grüße - Binni

                    --
                    www.GTR-Home.de
                    1. Hello,

                      Es gibt $SERVER['REMOTE_USER']. Wenn man die Authentifizierung dem Webserver überlässt, hat man darin wenigstens den Benutzernamen.

                      d.h. wenn ich das richtig verstanden habe, nehme ich bei der CGI-Version $SERVER['REMOTE_USER'], habe damit den Benutzernamen denn ich dan in meiner DB wiederfinde und  gucken ob der Nutzer rein darf macht dann der Apache per htaccess

                      Wenn ich das richtig verstanden habe, hat man in $_SERVER['REMOTE_USER'] nur dann den Benutzernamen, wenn der Server vorher die Authentifizierung durchgeführt hat. Dann ist der Username auch vertrauenswürdig, vorausgesetzt, er sit in der Authentifizierungsdatei Unique.

                      Bliebe jetzt nur die Frage, ob es nun das Basic Auth Verfahren des Apachen sein darf, dass diese Authentifizierung bereitstellt...

                      Harzliche Grüße vom Berg
                      http://www.annerschbarrich.de

                      Tom

                      --
                      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                      Nur selber lernen macht schlau

                      1. hallo,

                        Dann ist der Username auch vertrauenswürdig, vorausgesetzt, er sit in der Authentifizierungsdatei Unique.

                        was ist das für eine Datei und wo is die?

                        Viele Grüße - Binni

                        --
                        www.GTR-Home.de
            2. Hi Binni,

              Der Server sendet einen Header, der zur Authentifizierung auffordert.

              und damit das ganze funktioniert, muss php als apache-modul laufen, hab ich jetzt gelesen und so wie ich mir das anschaue hab ich da pech oder?

              Ja, mit PHP über CGI geht das nicht - du kannst zwar mit PHP eine Authentifizierung beim Clienten auslösen, der fragt seinen User dann nach Benutzername und Passwort, der Browser sendet das an den Server.
              Allerdings ist dann irgendwie die Kommunikation zwischen Apache und PHP nicht möglich, weil dies zwei verschiedene Programme sind und eine Kommunikation wäre aber erforderlich, damit klargestellt werden kann, ob die Zugangsdaten jetzt richtig sind oder nicht.

              Es gibt aber andere Möglichkeiten - du kannst z.b. mit einer .htaccess Datei einen Zugriffschutz konfigurieren, so wie du es sonst auch für geschützte Bereiche/Ordner machst. Die Username und Passwort Verwaltung machst du dann über die .htusers Datei, das Kontrollieren der Daten übernimmt der Apache damit für dich und welcher User gerade die Seite aufruft steht dann in PHP in $_SERVER['REMOTE_USER'];

              MfG, Dennis.