Markus: header lesen

hallo,

ich möchte gerne mit perl eine http-basic-authorization machen.
den login dialog bekomme ich hin, jetzt muss ich aber noch den wert von "Authorization" aus dem Header auslesen den ich zurück bekomme.
kann mir jemand sagen wie ich etwas aus dem header auslesen kann?

danke,
Markus

  1. Moin.

    kann mir jemand sagen wie ich etwas aus dem header auslesen kann?

    Garnicht. Jedenfalls nicht übers CGI. Mit PHP, wenn es denn als Apache-Modul läuft, geht es wohl (ich müßte aber nochmal nachlesen). HTTP-Authorisation läuft zw. Webserver (!) und Client. Du kannst zwar den Clienten dazu bringen, das Loginfenster zu zeigen, in dem Du ein  401 Unauthorized zu ihm sendest, das was der Browser zurück schickt, landet wieder beim Server - nur wo soll der damit hin?
    Der Regelfall (incl Auth.) bei der Kommunikation zw. Server und Client ist doch folgender: Der Client fordert etwas (HTTP Request), der Server liefert (HTTP Response). Ist eine Authorisierung nötig, ist dieses Response zunächst ein 401, worauf hin der Browser sein Login zeigt. Die Antwort darauf landet beim Server, der nach Prüfung der Daten den ursprünglichen (!) Request bearbeitet und dessen Response zum Client schickt.

    In Deinem Fall hast Du auch ein Request (der User klickt auf den Link zu Deinem Login-Script). Das erzeugt ein Response - nämlich den 401. Und damit ist die Kommunikation beendet. Kommt nun die Antwort darauf, gibts keinen, der die annehmen könnte.

    Gruß Frank

    1. Die Antwort darauf landet beim Server, der nach Prüfung der Daten den ursprünglichen (!) Request bearbeitet und dessen Response zum Client schickt.

      soweit ich weiß kommt die antwort auf den login dialog wieder zum perl skript zurück also inklusive header.
      das perl skript kann ja auch den http-user-agent und andere informationen beziehen, allerdings über die ENVs. aber es muss doch einen weg geben an den header heranzukommen.

      gruß, Markus