alex: http authentifizierung..

hi...

ich habe folgendes script:

<html>
<body>
<?
if(!isset($PHP_AUTH_USER)){
    header("WWW-Authenticate: Basic realm="My Realm"");
    header("HTTP/1.0 401 Unauthorized");
    echo "Text to send if user hits Cancel button\n";
    phpinfo();
 exit;
  } else {
    echo "Hello $PHP_AUTH_USER.<P>";
    echo "You entered $PHP_AUTH_PW as your password.<P>";
  }
?>
</body>
</html>

beim ausführen lokal geht es aber beim provider nicht...
folgende fehlermeldung:
Warning: Cannot add header information - headers already sent by (output started at /mnt/be2/07/539/00000012/htdocs/new.php:3) in /mnt/be2/07/539/00000012/htdocs/new.php on line 5

Warning: Cannot add header information - headers already sent by (output started at /mnt/be2/07/539/00000012/htdocs/new.php:3) in /mnt/be2/07/539/00000012/htdocs/new.php on line 6

wie kann ich den fehler beheben??

  1. Hallo,

    wie kann ich den fehler beheben??

    bevor du den Header sendest darf keinerlei Ausgabe an den Browser erfolgen, in deinem Falle mach also <html> und <body> nach dem header();

    cu Benedikt Loepp

    1. bevor du den Header sendest darf keinerlei Ausgabe an den Browser erfolgen, in deinem Falle mach also <html> und <body> nach dem header();

      cu Benedikt Loepp

      habe das nun so gemacht stehen auch keine leerzeichen am anfang sonder datei fängt mit <?... an

      nun bekomm ich folgende meldung:

      Internal Server Error
      The server encountered an internal error or misconfiguration and was unable to complete your request.
      Please contact the server administrator, service@webmailer.de and inform them of the time the error occurred, and anything you might have done that may have caused the error.

      More information about this error may be available in the server error log.

      1. Hi,

        More information about this error may be available in the server error log.

        ja, und?

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. ja, und?

          is es so unverständlich ausgedrückt was ich will???
          Aber für dich noch mal ganz langsam: Ich möchte gern dieses anmeldefenster haben und nicht irgend ne fehlermeldung.

          für en tip wäre ich daher dankbar.

          1. Hi,

            ja, und?
            is es so unverständlich ausgedrückt was ich will???

            nein, aber Deine Äußerungen darüber, was Deine Reaktion auf den Hinweis, im Error-Log könne sich mehr befinden, ergeben haben, waren ein wenig, wie soll ich sagen, dürftig.

            für en tip wäre ich daher dankbar.

            Den hat Dir die Fehlermeldung gegeben. Du musst den Rat nur beherzigen.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hallo lieber Cheatah!

              ja, und?
              is es so unverständlich ausgedrückt was ich will???

              nein, aber Deine Äußerungen darüber, was Deine Reaktion auf den Hinweis, im Error-Log könne sich mehr befinden, ergeben haben, waren ein wenig, wie soll ich sagen, dürftig.

              Wieso? Solange wie Du jetzt dabei bist solltest Du anhand der Reaktion gemerkt haben dass er _nicht_ in die Log-Datei gesehen hat, und ihm das mit sehr hoher Wahrscheinlichkeit gar nicht möglich ist, da das die meisten Massenhoster eben nicht anbieten.

              Und ja, mir ist durchaus klar was Du damit erreichen wolltest - aber hast Du es erreicht? Nein.
              Was Du erreicht hast ist dass der Ausgangsposter beleidigt ist (ob berechtigt oder nicht ist ziemlich egal für das Forums-Klima), dass  20 andere Newies zum wiederholten male sowas lesen und sich einer davon schon den Titel für den nächsten "Wieso sind hier eigentlich so extrem viel neunmalkluge Idioten?" - Thread überlegt. Aufgrund des letzten Threads dieser Art haben Michael Schroepl und Orlando dem Forum fürs erste den Rücken gekehrt, welche Stammposter sind es beim nächsten mal?

              An Stelle von "ja und?" hätte ein einfaches "was steht denn in den Logfiles?" am Ende genau dasselbe Ergebnis erzielt, mit dem einzigen Unterschied dass niemand sauer, beleidig, genervt... ist.

              Dir muss doch klar sein dass jemand der noch recht neu in dem Gebiet ist das gar nicht so verstehen _kann_ wie Du es Dir vorstellst, und dann wird es eben als Provokation empfunden. Und das nicht nur von ihm, sondern von allen Newbies die das lesen und nicht verstehen.

              Viele Grüße
              Andreas

          2. Hallo,

            vermutlich hätte Cheatah gerne mehr als diese allgemeine Fehler-Meldung - wie sollen wir dir denn sonst helfen?

            cu Benedikt Loepp

      2. Hallo!

        More information about this error may be available in the server error log.

        Was das Problem ist steht hier.
        Aber ich rate dass Du bei einem Provider bist wo Du hierauf keinen Zugriff hast und ich rate auch dass dieser Provider die CGI-Variante von PHP installiert hat(zu überprüfen mit phpinfo()), und dann kannst Du die HTTP-Authentifizierung nicht über PHP verwenden.

        Auf jeden Fall solltest Du Dich lieber an die neuere, englische Version des Manuals halten: http://de3.php.net/manual/en/features.http-auth.php

        Vor allem nicht $PHP_AUTH_* verwenden, sondern über den Array $_SERVER auf die Servervariablen zugreifen, so wie es in dem englischen Beispiel passiert.

        Warum ein 500er Fehler kommt verstehe ich allerdings nicht. Meiner Meinung nach dürfte der nicht kommen, auch nicht bei CGI.

        Ich denke der Fehler kann 3 Ursachen haben:
        1. der Fehler wird durch einen anderen Teil des Scriptes hervorgerufen -> AUTH-Teil seperat testen
        2. Dein Server akzeptiert nur HTTP/1.1, steht zumindest in den Kommentaren des obigen Links -> verwende HTTP/1.1 an Stelle von HTTP/1.0
        3. ich habe mich geirrt und der Fehler kommt tatsächlich durch CGI.

        Grüße
        Andreas

  2. folgende fehlermeldung:
    Warning: Cannot add header information - headers already sent

    http://www.dclp-faq.de/q/q-fehler-header.html