HTTP Authentication

  • Ich wollte grad mein altbewährtes, einfaches Admin-Login mal wieder verwenden, aus irgendeinem Grund funktioniert es aber nicht mehr.
    Jetzt wollt ich mal fragen, ob einer von euch weiss, ob das an einem Fehler im Script liegt (unwahrscheinlich, da ich nichts geändert hab...), oder an einer Änderung die mir entgangen ist.

    Hier der Code:

    Diese Datei wird einfach für jede zu schützende Seite includet. Allerdings kriege ich jetzt immer die Meldung von HTTP Authenticate, dass das Passwort falsch sei. Wäre froh wenn mir da einer weiterhelfen kann, dann muss ich mir kein neues simpel-script schreiben ;)

    -Lukas

  • Gibt eben keine Fehlermeldung, die Authentifizierung schlägt schlicht fehl, dh ich werde wieder und wieder dazu aufgefordert das PW einzugeben. Username und Passwort sind aber definitiv richtig eingegeben ;)

    Ist sonst aber auch nicht weiter tragisch, dann wird das Script eben begraben. Ich habe es mittlerweile sowieso anders gelöst, dieses hier war halt einfach eine angenehme, relativ sichere Simpellösung für Adminseiten.

  • Du kanns das auch anders machen.
    Du definierst in der index.php Datei eine Variable, nachdem man sich eingeloggt hat.

    Die Seiten lass dann includieren und setz vor jeder Datei eine If-Abfrage, ob diese Variable gesetzt ist oder nicht.
    Wenn nicht, dann leite einfach zum Loginformular weiter.

  • Dass es auch andere Möglichkeiten gibt is mir schon klar =P

    Wie oben beschrieben, ging es mir nur darum, dass dieses Script bisher einwandfrei funktionierte und ich es nie geändert habe, trotzdem will es auf einmal nichtmehr.

  • Ich wollte grad mein altbewährtes, einfaches Admin-Login mal wieder verwenden, aus irgendeinem Grund funktioniert es aber nicht mehr.
    Jetzt wollt ich mal fragen, ob einer von euch weiss, ob das an einem Fehler im Script liegt (unwahrscheinlich, da ich nichts geändert hab...), oder an einer Änderung die mir entgangen ist.

    Hier der Code:

    Diese Datei wird einfach für jede zu schützende Seite includet. Allerdings kriege ich jetzt immer die Meldung von HTTP Authenticate, dass das Passwort falsch sei. Wäre froh wenn mir da einer weiterhelfen kann, dann muss ich mir kein neues simpel-script schreiben ;)

    -Lukas

    Schonmal überlegt, dass dein Benutzer noch (garnicht || nicht mehr) existiert.
    An deiner Stelle würdei ch mal in der pwd.inc.php nach deinem Benutzer forschen und Ihn anlegen, falls er noch nicht existiert.

    Gruß crAzywuLf :D

  • Na hallo, für wie grün hältst du mich? =P Der Benutzer existiert natürlich, ein Tippfehler kann's auch nicht sein, ich habe nämlich auch schon versucht die Daten direkt aus der pwd.inc.php zu kopieren. Ne, es is eben kein offensichtlicher Fehler.

    -Lukas

    PS: Das Array für die Benutzer ist im Moment übrigens gerade mal 1 Element gross, viel suchen braucht's da also nicht.

    Einmal editiert, zuletzt von lukasn (8. Oktober 2009 um 13:01) aus folgendem Grund: PS eingesetzt

  • Dann ab zur Fehleranalyse!
    unter den Include:

    PHP
    <?php
    echo '<pre>';
    print_r($nutzer);
    print_r($_SERVER);
    echo '</pre>';
    ?>

    und hier posten, aber warscheinlich wirst du denn Fehler dann selber erkennen können ;)
    (den Header-Teil natürlich auskommentieren)

    Gruß crAzywuLf :D

  • Sorry, aber ich verstehe nicht ganz worauf du hier raus willst... zum einen mal:
    print_r($nutzer); Ergebnis ist das offensichtliche: ( [admin] => adminpasswort )
    print_r($_SERVER) hingegen bringt überhaupt nix wenn ich den Header() teil auskommentiere, denn die Elemente 'PHP_AUTH_USER' bzw. 'PHP_AUTH_PW' werden ja nur dann gesetzt, wenn eine http Authentication stattgefunden hat... wenn ich diese also weglasse finde ich die Logindaten logischerweise nirgends...

  • hmm... ^^ ja ich habe mir gerade mal ein bisschen dazu angelesen und dein Script funktioniert auch auf meinem Server...

    der Fehler liegt also woanders... :?
    kannst ja mal noch hier schauen ob irgendwelche Vorraussetzungen nicht stimmen, aber normalerweise müsste das gehen.
    Mehr fällt mir dazu leider auch gerade nicht ein...

    Gruß crAzywuLf :D

  • Dann liegt der Fehler wohl tatsächlich bei meinem Hoster...

    Naja, auf jeden Fall vielen Dank für deine Hilfe. Es ist gut zu wissen dass der Fehler nicht bei meinem Script liegt. Ich habe allerdings mittlerweile eine andere Lösung geschrieben, die ist zwar nicht ganz so simpel ein zu setzten, aber dafür einiges mächtiger =)

    Gruss,
    -Lukas