Um euch das stundenlange suchen, Apache doku lesen und rumprobieren zu ersparen, werde ich euch hier verraten wie man vor der HTTP-Authentifizierung zu HTTPS wechselt.
Das eigentliche Problem der Basic-Authentication ist, dass diese Passwörter und Nutzernamen im Klartext übertragen werden. Leider ist das ja nicht immer gewollt und unter umständen sehr unsicher.
So hier nun zur Konfiguration. Am einfachsten klappt es in dem Ihr, im zu schützenden Verzeichnis, eine .htaccess Datei anlegt und folgenden Inhalt hinzufügt:
AuthUserFile /var/www/domain.tld/secret/.htpasswd
AuthType Basic
AuthName "Secret Site"
require valid-user
SSLrequireSSL
ErrorDocument 403 /redirect.php
Die ersten 4 Einträge sollten klar sein. Mit SSLrequireSSL erzwingt man denn Zugriff via HTTPS. Wird die Domain nur mit HTTP aufgerufen, antwortet der Apache mit einem 403 Fehler. Dies fangen wir mit dem Eintrag ErrorDocument 403 /redirect.php ab. In diesem steht nur:
<?php
header('Location: https://www.domain.tld/secret/');
?>
So leiten wir alle normalen HTTP anfragen direkt auf HTTPS um. Danach erfolgt die Basic Authentication. Und schon wird die Authentifizierung nur noch über HTTPS abgewickelt.
Tolle Sache
1
XSLT (Extensible Stylesheet Language Transformation) ist eine noch recht junge Sprache die aus DSSSL 120hervorgegangen ist. Sie übersetzt einfache XML-Inhalte nach den in der XSLT-Datei festgelegten Regeln in eine Andere Sprache - zumeist HTML. Dazu wird ein sogenannter XSLT Prozessor genutzt der das XML entweder Serverseitig Transformiert und so schon HTML an den Client ausliefert oder der Browser übernimmt diesen Part und übersetzt lokal. Nähere Information bietet hier wie immer die Wikipedia121. Ich zeige hier in erster Linie den Weg über den Browser auf da die Kompatibilität inzwischen in meinen Augen ausreichend ist (IE ab Version 6, Mozilla ab Version 1.0.2).
PHP-SimpleXML ist eine Reihe von Funktionen die PHP anbietet um im XML Dateien aus Objekten zu erzeugen oder Objekte aus XML-Dateien zu erstellen. Dazu bedient sie sich einer DOM Struktur. SimpleXML ist ein Bestandteil von PHP der Version 5 und wird Standardmäßig mitinstalliert. Die meisten Provider bieten diese Funtionen auch an. Weitere Infos bietet hier PHP.net122 selbst.
Was wir hier nun probieren wollen ist mit PHP-SimpleXML XML Dateien zu erzeugen die dann mit XSLT Dargestellt werden. Erfahrungen mit PHP, HTML, CSS und XML an sich sind dabei vorausgesetzt. Ziel ist es eine Nutzerliste wie sie zum Beispiel in einem Forum zu sehen wäre anzuzeigen. Die Möglichkeiten sind natürlich unendlich ;o) .
Weiterlesen: “Design und Content perfekt getrennt mit XSLT und PHP-SimpleXML”