Siechfred: Warum kein htaccess Auth Header per CGI?

Beitrag lesen

Tag Sebastian.

Wie kann ich es realisieren, dem Client Browser per Script einen
Header zu schicken, der eine htaccess Autentifizierung emuliert?
[...]
Das, was der Webserver dann bei Erfolg an den Client zurück
schickt, muss doch auch manuell möglich sein, oder nicht?

Nein, denn der CGI-Standard sieht nur zwei Möglichkeiten der Informationsübermittlung vor: entweder über Argumente, die der CGI-Anwendung mitgegeben werden, oder über die Umgebungsvariablen, die der Server vor Aufruf des Programms selbständig setzt. Da der Server in seiner Eigenschaft als CGI-Gateway zwar den Nutzernamen als Umgebungsvariable "REMOTE_USER" zur Verfügung stellt, das Passwort aber nicht, besteht unter reinen CGI-Bedingungen keine Möglichkeit, an das Passwort zu gelangen. Man kann zwar mittels eines CGI-Programms einen entsprechenden Statuscode 401 zusammen mit einem WWW-authenticate-Header senden und so den Eingabedialog provozieren, scheitert aber an der Auswertung der Antwort.

Ergo braucht es irgendeine Zusatztechnologie, die den Server dazu überredet, die gesuchten Informationen preiszugeben, das wäre z.B. im Falle von Perl mod_perl, mit dessen Hilfe letztendlich nichts anderes gemacht wird, als den Handler für den Authentifizierungsmechanismus auf ein Perlmodul umzubiegen (PerlAuthenHandler). Dann kann man mit Hilfe eines eigenen Perlscripts die Daten der Authentifizierung überprüfen und mit Hilfe des Scriptes reagieren. Aber das alles ist dann kein CGI mehr.

Siechfred