10.9 HTTP-Basic- oder -Digest-Authentifizierung einsetzen

Problem

Sie möchten PHP einsetzen, um Teile Ihrer Website mit Passwörtern zu schützen. Anstatt die Passwörter in einer externen Datei zu speichern, um die Authentifizierung durch den Webserver abwickeln zu lassen, möchten Sie die Logik zur Prüfung des Passworts in einem PHP-Programm formulieren.

Lösung

Die globalen Variablen $_SERVER['PHP_AUTH_USER'] und $_SERVER['PHP_AUTH_PW'] enthalten den Benutzernamen und das Passwort, wenn der Benutzer sie angegeben hat. Um den Zugriff zu verweigern, versenden Sie einen WWW-Authenticate-Header mit dem Statuscode 401, der das Authentication Realm enthält, wie Sie es in Listing 10.2 sehen.

<?php header('WWW-Authenticate: Basic realm="Meine Website"'); header('HTTP/1.0 ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.