jambaminator: User Status bei htaccess (eingeloggt oder nicht)

hallo,

ich brauche eine abfrage die prüft, ob jemand mit htaccess eingeloggt ist. bisher habe ich das so realisiert:

if(isset($_SERVER['REMOTE_USER)']))

die obige variable ist schließlich nur gesetzt, wenn jemand eingeloggt ist und hat dann als wert den usernamen.

soweit die theorie, praktisch klappt es nicht. die variablen sind soweit  alle gesetzt. erstaunlicherweise auch die HTTP authentifizierungsvariablen  $_SERVER[PHP_AUTH_USER] und $_SERVER[PHP_AUTH_PW], obwohl ich mal gelesen hatte, dass bei benutzung einer externen authentifizierung (wie htaccess) diese variablen nicht gesetzt werden (weil das angeblich wieder eine sicherheitslücke wäre).

ich wäre über erläuterungen dankbar und über vorschläge, das ganze anders zu realisieren. vielen dank im voraus

grüße aus göttingen

der, der jamba hasst.

  1. hi,

    ich brauche eine abfrage die prüft, ob jemand mit htaccess eingeloggt ist. bisher habe ich das so realisiert:
    if(isset($_SERVER['REMOTE_USER)']))
    die obige variable ist schließlich nur gesetzt, wenn jemand eingeloggt ist und hat dann als wert den usernamen.

    soweit die theorie, praktisch klappt es nicht. die variablen sind soweit  alle gesetzt. erstaunlicherweise auch die HTTP authentifizierungsvariablen  $_SERVER[PHP_AUTH_USER] und $_SERVER[PHP_AUTH_PW]

    sind sie lediglich gesetzt, oder haben sie auch einen nicht leeren inhalt?

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. sind sie lediglich gesetzt, oder haben sie auch einen nicht leeren inhalt?

      remote user hat den wert des eigebenen usernamens, ebenso php_auth_user und php_auth_pw hat den wert des passwortes.

      es geht darum das einige elemente eines dokuments nur bestimmten nutzern zugänglich sein soll. daher die abfrage.

      vielen dank schonmal für die schnelle hilfe..

      1. Hallo!

        remote user hat den wert des eigebenen usernamens, ebenso php_auth_user und php_auth_pw hat den wert des passwortes.

        Wenn diese Variablen vorhanden sind, heißt das lediglich dass der Anwender einen entsprechenden HTTP-Header gesendet hat, das hat in keinster Weise damit zu tun ob es diese Zugangsdaten tatsächlich gibt, ob Sie gültig sind...

        es geht darum das einige elemente eines dokuments nur bestimmten nutzern zugänglich sein soll. daher die abfrage.

        Du muss in PHP die entsprechende Passwort-Datei abfragen. Das kannst Du Dir selbst schreiben, oder Sachen wie PEAR::File_Passwd verwenden. Allerdings ist es in meinen Augen nicht wirklich sinnvoll gleichzeitig zwei verschiedene Prüfungen der Authentifizierung vorzunehmen. Eine Prüfung durch den HTTP-Server (z.B. per .htaccess) würde ich persönlich nur verwenden, wenn ich z.B. ganze Verzeichnisse schützen will (und das ganze entsprechend komplett dem HTTP-Server überlassen). Sonst würde ich eher zu einer reinen PHP-Lösung tendieren (kann auch HTTP-Auth verwenden). Das gibt einem die größere Flexibilität.

        Grüße
        Andreas

        --
        SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
        1. Moin!

          remote user hat den wert des eigebenen usernamens, ebenso php_auth_user und php_auth_pw hat den wert des passwortes.
          Wenn diese Variablen vorhanden sind, heißt das lediglich dass der Anwender einen entsprechenden HTTP-Header gesendet hat, das hat in keinster Weise damit zu tun ob es diese Zugangsdaten tatsächlich gibt, ob Sie gültig sind...

          Das ist nicht ganz korrekt. Die PHP_AUTH_...-Variablen enthalten 1:1 die Angaben des Benutzers, sind aber noch nicht geprüft.

          REMOTE_USER hingegen ist das Ergebnis NACH der Prüfung durch den Apachen - dieser schreibt den authentifizierten Benutzernamen extra in das Environment rein, welches auch von CGI-Skripten genutzt werden kann.

          • Sven Rautenberg
          1. Hallo Sven!

            REMOTE_USER hingegen ist das Ergebnis NACH der Prüfung durch den Apachen - dieser schreibt den authentifizierten Benutzernamen extra in das Environment rein, welches auch von CGI-Skripten genutzt werden kann.

            Das wußte ich nicht, danke für die Korrektur!

            Grüße
            Andreas

            --
            SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
          2. 你好 Sven,

            Das ist nicht ganz korrekt. Die PHP_AUTH_...-Variablen enthalten 1:1 die
            Angaben des Benutzers, sind aber noch nicht geprüft.

            Wenn schon, denn schon: die PHP_AUTH_*-Varablen _koennen_ ungeprueft sein,
            nach einem Auth-Check durch tieferliegende Module kann es aber genau so gut
            sein, dass sie doch schon geprueft wurden. Der Zugriff auf die Ressource
            erfolgt ja erst nach Pruefung der Authentifikation, wenn sie denn
            erforderlich ist.

            再见,
            CK

            --
            Der Geist ist alles. Du wirst, was du denkst.
  2. Hello,

    ich brauche eine abfrage die prüft, ob jemand mit htaccess eingeloggt ist. bisher habe ich das so realisiert:

    Mit .htaccess ist kein Logging möglich, da es auf einem verbindungslosen Protokoll basiert.

    Oder meintest Du, dass Du feststellen wolltest, ob sich jemand Zugang zum System verschafft hat?

    Beim Logging werden persistente Verbindungen aufgebaut, bei auch der Server jederzeit prüfen kann, ob der Client noch verfügbar ist. Er kann ihm dann (meistens) auch Server-Pushs schicken.

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

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. hi,

      Mit .htaccess ist kein Logging möglich, da es auf einem verbindungslosen Protokoll basiert.

      .htaccess basiert auf überhaupt keinem übertragungsprotokoll, sondern ist der default-name für eine konfigurationsdatei des apache-webservers ...

      scnr,
      wahsaga

      --
      "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
      1. Hello,

        Mit .htaccess ist kein Logging möglich, da es auf einem verbindungslosen Protokoll basiert.

        .htaccess basiert auf überhaupt keinem übertragungsprotokoll, sondern ist der default-name für eine konfigurationsdatei des apache-webservers ...

        Witzbold. Du willst also suggerieren, dass für den hinter ".htaccess" steckenden Mechanismus kein Protokoll erforderlich ist? Ich würde mal schätzn, dass der speziell für http-Zugriffe gemacht ist. http ist aber verbindungslos und kann daher kein Login gewährleisten.

        Muss man hier immer gleich einen Roman schreiben? :-))

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

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. hi,

          Witzbold. Du willst also suggerieren, dass für den hinter ".htaccess" steckenden Mechanismus kein Protokoll erforderlich ist?

          "hinter .htaccess" steckt kein "mechanismus" - es ist eine konfigurationsdatei, punkt.

          Ich würde mal schätzn, dass der speziell für http-Zugriffe gemacht ist.

          nein, um den apachen auf verzeichnisebene konfigurieren zu können.

          http ist aber verbindungslos und kann daher kein Login gewährleisten.

          also reden wir gar nicht über ".htaccess", sondern über HTTP AUTH ...?

          gruß,
          wahsaga

          --
          "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
          1. Hello,

            Witzbold. Du willst also suggerieren, dass für den hinter ".htaccess" steckenden Mechanismus kein Protokoll erforderlich ist?

            "hinter .htaccess" steckt kein "mechanismus" - es ist eine konfigurationsdatei, punkt.

            Und was konfiguriert diese Konfigurationsdatei? Vielleicht den Suppentopf meiner Oma oder Zugriffe über HTTP?

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

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. hi,

              "hinter .htaccess" steckt kein "mechanismus" - es ist eine konfigurationsdatei, punkt.

              Und was konfiguriert diese Konfigurationsdatei? Vielleicht den Suppentopf meiner Oma oder Zugriffe über HTTP?

              das verhalten des apachen in bestimmten situationen.

              gruß,
              wahsaga

              --
              "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
              1. Hello,

                "hinter .htaccess" steckt kein "mechanismus" - es ist eine konfigurationsdatei, punkt.

                Und was konfiguriert diese Konfigurationsdatei? Vielleicht den Suppentopf meiner Oma oder Zugriffe über HTTP?

                das verhalten des apachen in bestimmten situationen.

                Und durch welche Events wird das Verhalten getriggert?

                Richtig! Durch einen ht-access via ht-tp. Daher kommt dann wohl auch der Name der Datei, oder? *gg*

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

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau
                1. hi,

                  das verhalten des apachen in bestimmten situationen.

                  Und durch welche Events wird das Verhalten getriggert?

                  Richtig! Durch einen ht-access via ht-tp. Daher kommt dann wohl auch der Name der Datei, oder? *gg*

                  und daraus schließt du jetzt, dass der einzige einsatzzweck der .htaccess-datei die aufforderung zur authentifizierung sei, und somit HTTP AUTH und .htaccess ein und das selbe wären ...?

                  gruß,
                  wahsaga

                  --
                  "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
                  1. Hello,

                    und daraus schließt du jetzt, dass der einzige einsatzzweck der .htaccess-datei die aufforderung zur authentifizierung sei, und somit HTTP AUTH und .htaccess ein und das selbe wären ...?

                    Wer sagt denn das?
                    Umkehrschlüsse sind nicht immer erlaubt, auch wenn DU sie mir unterstellen willst.

                    Aber wenn jemand nach "Login" mittels .htaccess fragt, dann wird er wohl genau diesen eben von Dir zitierten Aufdgabenbereich der ".htaccess"-Funktionen  im Auge gehabt haben.

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

                    Tom

                    --
                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                    Nur selber lernen macht schlau
                  2. Hallo,

                    wenn ich mich mal einmischen darf:

                    Perspektivübernahme ;-)

                    Viele Grüße
                    Vaclav

                    1. Hello,

                      wenn ich mich mal einmischen darf:

                      Perspektivübernahme ;-)

                      Und was wäre Deine "Tipps für Laien" ?

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

                      Tom

                      --
                      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                      Nur selber lernen macht schlau
                      1. Hallo Tom,

                        Und was wäre Deine "Tipps für Laien" ?

                        Wie meinen?

                        Viele Grüße
                        Vaclav

  3. Hallo!

    ich brauche eine abfrage die prüft, ob jemand mit htaccess eingeloggt ist.

    Dazu brauchst Du IMHO keine Abfrage. Wenn sich das Script innerhalb des per HTTP-Auth geschützten Bereichs befindet, ist jeder der dieses Script aufrufen kann eingeloggt. Ich wüßte nicht wie man es per .htaccess anders machen könnte.

    Grüße
    Andreas

    --
    SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/