Henryk Plötz: eine alternative Lösung

Beitrag lesen

Moin

Ich rede   von Server Authentication im Allgemeinen.
Du  redest von Server Authentication im Modus "Basic".

Ah, ok, alle Unklarheiten beseitigt. Vielleicht hätte ich das 'Only "Basic" authentication is supported at this point' noch extra erwähnen sollen :)

In Digest empfängt er ein MD5-codiertes Passwort und vergleicht es mit
dem gespeicherten, ebenfalls MD5-codierten Wert.
Was der eigentlich bedeutete, weiß er aber nicht (wozu auch?).

Hmm, auch wenn ich jetzt vor lauter Schreck nicht in der Lage war einen per Digest geschützten Bereich zu basteln (oder liegt das an Mozilla 0.9.6 ?), denk ich, ich weiss was du meinst.

Was immer PHP als Passwort ausgibt, kann es bestenfalls dadurch bekommen,
daß mod_php sich so tief in den Apache hinein hängt, daß es in die Tabellen
von mod_auth hinein greift oder aus den Core-Tabellen den Original-HTTP-
Header fischt.

Das ist ja das schöne an einem Server-Modul.
Daher hier noch eine Notlösung für Wowbagger: Mit getallheaders() holst du dir ein Array aller HTTP-Header (geht nur wenn PHP als Modul läuft). Mit etwas Glück liegt da noch ein Eintrag "Authorization" drin rum. Der enthält dann einen Base64-kodierten String bestehend aus Username, einem Doppelpunkt und dem Passwort. Also mit base64_decode() (http://www.php.net/manual/en/function.base64-decode.php) lesbar machen, und dann am : auftrennen. Schon solltest du Username und Passwort haben. (bei Basic Auth)

PHP via CGI sollte genauso wenig ein Passwort zu sehen bekommen wie Perl
via CGI, denke ich mal. Ich wüßte zumindest nicht, woher die Information
stammen sollte.

Stimmt.

Wenn man jedoch das PHP-Modul benutzt, sollte man damit auch Digest-Auth machen können, man muss sich die benötigten Header bloss per Hand holen.

--
Henryk Plötz
Grüße aus Berlin