robert0: Für $_SERVER php.ini eintrag?

Hallo,
ich will eine php-datei erstellen und das Array $_SERVER[AUTH_USER] abfragen... jedoch steht in meiner phpinfo nur no value. muss ich in der php.ini dazu igendwelche änderungen vornehmen oder bei meinem iis?

gruß
robert

  1. Mahlzeit,

    ich will eine php-datei erstellen und das Array $_SERVER[AUTH_USER] abfragen...

    Erstens vermute ich, dass Du keine Konstante namens "AUTH_USER" definiert hast, der PHP-Interpreter deshalb nicht weiß, was er Dir liefern soll und Du eigentlich $_SERVER['AUTH_USER'] meintest ... und zweitens wundert mich, dass Du davon ausgehst, dort ein Array zu finden - normalerweise sollte dort nur ein String stehen.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. jo meinte auch $_SERVER['AUTH_USER']
      aber um mir das ausgeben lassen zu können, muss ich meine php.ini editieren?

      robert

      1. Mahlzeit,

        aber um mir das ausgeben lassen zu können, muss ich meine php.ini editieren?

        Nein, nicht dass ich wüsste. Wenn natürlich dem Server kein authentifizierter Benutzer bekannt ist, steht dort auch kein Wert drin ...

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Nein, nicht dass ich wüsste. Wenn natürlich dem Server kein authentifizierter Benutzer bekannt ist, steht dort auch kein Wert drin ...

          das heißt: da müsste eig meine AD user-id drin stehen? tut es aber nicht, woran könnte das liegen?

          robert

          1. Mahlzeit,

            das heißt: da müsste eig meine AD user-id drin stehen? tut es aber nicht, woran könnte das liegen?

            Keine Ahnung, IIS ist böse ... verwende einen vernünftigen Webserver, dann klappt's bestimmt auch. ;-)

            Ein PHP-Problem ist es jedenfalls nicht - deshalb der Themenwechsel.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
          2. Hi,

            tut es aber nicht, woran könnte das liegen?

            // Autorisierter (eingeloggter) Username  
            define('AUTH_USER',(!empty($_SERVER['REMOTE_USER']))?$_SERVER['REMOTE_USER']:((!empty($_SERVER['PHP_AUTH_USER']))?$_SERVER['PHP_AUTH_USER']:''));
            

            Gruß, Cybaer

            --
            Man kann doch sehr leicht jenen tugendhaften Menschen begegnen, (...) die eine Art "unkrümmbaren Zeigefinger" besitzen, der ständig den kalten Wind des Rechthabens ausströmt. (Wolfgang Huber, Bischof)
            Die Tugend jagt nicht den Teufel, sondern den Sündhaften. Damit wird sie zum Terror. (Hans-Ulrich Jörges, Journalist)
          3. Hello,

            das heißt: da müsste eig meine AD user-id drin stehen? tut es aber nicht, woran könnte das liegen?

            Nein, normalerweise dürfte diese Variable überhaupt nicht vorhanden sein, es sei denn, der Client hat Anmeldedaten mitgeschickt. Das Tut er aber üblicherweise erst, wenn er durch einen entsprechenden Statuscode vom Server dazu aufgefordert wurde und Du dann das berühmte Anmeldefenster ausgefüllt hast.

            Den Authentifizierungsdialog am Client kannst Du i.d.R. dadurch hervorrufen, dass Du ihm diese Header sendest:

            Header("WWW-authenticate: basic realm="Privater Bereich"");
                Header("HTTP/1.0 401 Unauthorized");

            Wenn Du dann darauf antwortest, sollte auch im Script die Variable für $_SERVER['AUTH_USER'] oder die für $_SERVER['REMOTE_USER'] vorhanden sein.

            Ein harzliches Glückauf

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            1. echo $begrüßung;

              das heißt: da müsste eig meine AD user-id drin stehen? tut es aber nicht, woran könnte das liegen?
              Nein, normalerweise dürfte diese Variable überhaupt nicht vorhanden sein, es sei denn, der Client hat Anmeldedaten mitgeschickt. Das Tut er aber üblicherweise erst, wenn er durch einen entsprechenden Statuscode vom Server dazu aufgefordert wurde und Du dann das berühmte Anmeldefenster ausgefüllt hast.

              Man kann den IIS auf NTLM-Authentifizierung konfigurieren. Der Authentifizierungsvorgang läuft dann von User und PHP-Script unbemerkt zwischen IIS und IE ab. Der FF kann zwar auch NTLM, muss dazu aber die Windows-Anmeldedaten vom Benutzer erfragen.

              echo "$verabschiedung $name";

              1. Hello,

                Man kann den IIS auf NTLM-Authentifizierung konfigurieren. Der Authentifizierungsvorgang läuft dann von User und PHP-Script unbemerkt zwischen IIS und IE ab. Der FF kann zwar auch NTLM, muss dazu aber die Windows-Anmeldedaten vom Benutzer erfragen.

                Das habe ich zum Thema gefunden...
                http://www.innovation.ch/personal/ronald/ntlm.html
                http://www.phpcs.com/code.aspx?ID=25272

                Soweit ich das sehe, werden da nicht die Variablen $_SERVER['AUTH_USER'] oder $_SERVER['REMOTE_USER'] angelegt und gefüllt, sondern die Variable $_SERVER['Authorization']. das aber auch nur, wenn eine Benutzeranmeldung stattgefunden hat.

                siehe auch http://www.softgames.de/forum/frage115506.html

                Ein harzliches Glückauf

                Tom vom Berg

                --
                Nur selber lernen macht schlau
                1. echo $begrüßung;

                  Hello,

                  Man kann den IIS auf NTLM-Authentifizierung konfigurieren. Der Authentifizierungsvorgang läuft dann von User und PHP-Script unbemerkt zwischen IIS und IE ab. Der FF kann zwar auch NTLM, muss dazu aber die Windows-Anmeldedaten vom Benutzer erfragen.

                  Das habe ich zum Thema gefunden...
                  http://www.innovation.ch/personal/ronald/ntlm.html
                  http://www.phpcs.com/code.aspx?ID=25272

                  Solange man einen IIS hat, wie der OP, ist das beides überflüssig. Einfach den Haken bei Integrated Windows... setzen, und den bei Anonym... und Basic... raus.

                  Soweit ich das sehe, werden da nicht die Variablen $_SERVER['AUTH_USER'] oder $_SERVER['REMOTE_USER'] angelegt und gefüllt, sondern die Variable $_SERVER['Authorization'].

                  In einem Out-of-the-box-IIS (plus Haken) werden AUTH_USER und REMOTE_USER gefüllt. $_SERVER['Authorization'] dagegen existiert nicht.

                  das aber auch nur, wenn eine Benutzeranmeldung stattgefunden hat.

                  Das ist die Voraussetzung. Zur Not prüft man das mit dem FF. Der FF verlangt ja explizit nach den Daten und macht das nicht im Hintergrund. Wenn keine Aufforderung kommt, gibt sich der IIS also ohne Anmeldung zufrieden. Der Fehler ist dann in der IIS-Konfiguration zu suchen.

                  siehe auch http://www.softgames.de/forum/frage115506.html

                  Größtenteils unwichtig. Passende Haken setzen muss reichen.

                  echo "$verabschiedung $name";

  2. Hallo

    ich will eine php-datei erstellen und das Array $_SERVER[AUTH_USER] abfragen...

    du meinst, wie bereits festgestellt, den Eintrag $_SERVER['AUTH_USER'].

    jedoch steht in meiner phpinfo nur no value. muss ich in der php.ini dazu igendwelche änderungen vornehmen oder bei meinem iis?

    Authentifizierung für Site bzw. Datei einstellen, siehe https://forum.selfhtml.org/?t=169939&m=1110305.

    Freundliche Grüße

    Vinzenz