Beim Unterrichtseinsatz von Webshops, ist es aus rechtlichen Gründen auf jeden Fall zu empfehlen, einen Kennwortschutz einzurichten, um den Zugriff von Außenstehenden auf den Shop zu verhindern. Diese Anleitung zeigt kurz, wie man dazu vorgeht.
Verzeichnisschutz über den Hosting-Provider
Häufig bieten Hosting-Provider bereits in ihrer Administrationsoberfläche an, einen Passwortschutz einzurichten. Falls diese Möglichkeit vorhanden ist, sollte man diese auch nutzen. Anleitungen dazu bieten die Hosting-Anbieter in der Regel auf ihren Support-Seiten an. Hier eine kurze Liste zu ausgewählten Hosting-Providern:
- 1und1 Verzeichnisschutz einrichten
- Strato Hosting FAQ - Kann ich einzelne Verzeichnisse fuer bestimmte Nutzer Nutzergruppen mit einem Passwort schuetzen?
- Falls Ihr Hosting-Provider das Plesk-Administrationssystem verwendet, finden Sie eine Anleitung hier: https://docs.plesk.com
Verzeichnisschutz manuell einrichten
Der Verzeichnisschutz kann auch leicht manuell eingerichtet werden. Dazu teilen wir dem Web-Server über eine Textdatei mit, dass er für ein Verzeichnis ein Kennwort anfordern soll, bevor er die Dateien in dem Verzeichnis an den Besucher übermittelt. Diese Anleitung geht davon aus, dass der Shop über die gängigste Webserver-Software Apache bzw. über Nginx/Apache betrieben wird.
Sie können die Erstellung eines Verzeichnisschutzes auch mit Ihrem lokalen Webserver und Webshop ausprobieren (siehe Tutorial: Einen Webshop lokal installieren)
Die Funktionsweise des Kennwortschutzes über HTPPasswd
Grundsätzlich funktioniert der Kennwortschutz mit .htacess/.htpasswd mit zwei Dateien.
- .htpasswd:In dieser Datei wird der Benutzername und das verschlüsselte Kennwort (korrekterweise ein MD5-Hash des Kennworts) gespeichert.
- .htaccess: In dieser Datei steht die Anweisung für den Webserver, nur die in der .htpasswd-Datei aufgeführten Benutzer nach Eingabe des Kennworts Zugriff auf den geschützten Bereich zu gewähren.
Die Kennwortdatei generieren
Wir werden nun zunächst die .htpasswd-Datei mit dem Benutzernamen und Kennwort erstellen. Öffnen Sie dazu die Seite http://www.htaccesstools.com/htpasswd-generator/. Geben Sie dort den gewünschten Benutzernamen und Kennwort ein.
Klicken Sie auf “Create .htpasswd file” und es öffnet sich die folgende Seite mit dem Inhalt der .htpasswd-Datei:
Kopieren Sie nun den Text aus dem Textfeld in einen Texteditor und speichern Sie die Datei unter dem Namen “.htpasswd” ab.
Die Regeln für den Zugriff erstellen
Im zweiten Schritt generieren wir nun die .htaccess-Datei, die den Zugriff auf das Verzeichnis regeln soll. Dazu öffnen wir die Seite http://www.htaccesstools.com/htaccess-authentication/ und geben dort einen kurzen Begrüßungstext ein, der im Anmeldefenster des geschützten Bereichs erscheinen wird. Im zweiten Eingabefeld muss der absolute Pfad(!) der .htpasswd-Datei eingegeben werden, in der die Zugangsdaten gespeichert sind.
Den absoluten Pfad können Sie zum Beispiel auf folgende Art herausfinden:
Erstellen Sie eine PHP-Datei mit folgendem Inhalt und laden diese in das von Ihnen vorgesehene Verzeichnis des Webservers hoch.
<?php
$dir = dirname(__FILE__);
echo "<p>Full path to this dir: " . $dir . "</p>";
echo "<p>Full path to a .htpasswd file in this dir: " . $dir . "/.htpasswd" . "</p>";
?>
Rufen Sie die Seite im Browser über die Webserver-Adresse auf und Sie erhalten den absoluten Pfad zum Verzeichnis.
Geben Sie diesen Pfad in die Maske der Website htaccesstools ein.
Wichtig: Wenn Sie Windows verwenden, ersetzen Sie die Backslashes \ durch “normale” Slashes / (siehe Screenshot).
Speichern Sie die Datei unter dem Namen .htaccess und laden Sie sie ebenfalls in das vorgesehene Verzeichnis des Webservers hoch. Ihr zu schützendes Verzeichnis sollte nun folgende Dateien beinhalten:
│Mein geschütztes Verzeichnis
├── .htaccess
├── .htpasswd
├── … andere Dateien
Rufen Sie nun im Browser eine Datei im geschützten Verzeichnis auf. Anstelle der Datei sollte nun ein Anmeldefenster in Ihrem Browser erscheinen, das das vergebene Kennwort abfragt.