HTTP-Auth mit FastCGI

Unter FastCGI funktioniert die HTTP-Authentifizierung nicht standardmäßig, daher ist ein Workaround erforderlich. Zuerst muss in den Domain-Einstellungen bei Plesk die PHP-Unterstützung als FastCGI-Applikation aktiviert werden. Dann sollte die .htaccess-Datei mit spezifischen Rewrite-Regeln ergänzt werden, um die HTTP_AUTHORIZATION-Variable zu setzen. Schliesslich müssen im PHP-Skript, das die Authentifizierung durchführt, bestimmte Zeilen hinzugefügt werden, um die Benutzerdaten korrekt zu dekodieren und zu verarbeiten.

Unter FastCGI funktioniert standardmäßig die HTTP-Authentifizierung nicht und es muss auf ein Workaround zugegriffen werden, der in den folgenden drei Schritten beschrieben wird.


1. Stellen Sie sicher, dass im Plesk bei den Einstellungen der Domain
„PHP Unterstützung (ausführen als FastCGI-Applikation)“ eingestellt ist:



2. Ergänzen oder erstellen Sie die .htaccess-Datei mit folgenden Zeilen:

RewriteEngine on
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

3. Im PHP-Script, in der die HTTP-Authentifizierung kodiert ist, fügen Sie direkt vor dem Auth folgende Zeilen hinzu:

list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', 
base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));