Onlime Webhosting bietet Ihnen einen einfach zu bedienenden Verzeichnisschutz-Manger via Controlpanel, Menüpunkt Verzeichnisschutz.
Richten Sie als erstes eine Passwort-Liste ein mittels „Neues Profil anlegen“:
Beim Hinzufügen eines weiteren Benutzers zur selben Passwort-Liste, können Sie die bereits bestehende Passwort-Liste auswählen:
Nun klicken Sie oben im Abschnitt Geschützte Verzeichnisse auf „Verzeichnis schützen“. Sie können nun das Verzeichnis auswählen und eine Passwort-Liste („Berechtigungs-Profil“) hinzufügen:
That's it! Ihr Verzeichnis ist nun geschützt und nur die eingerichteten Benutzer haben Zugang darauf:
.htaccess
. Alternativ können Sie jedoch auch einfach unseren Verzeichnisschutz-Manager via Controlpanel verwenden. Das Resultat ist dasselbe.
.htaccess
-Dateien sind verzeichnisspezifisch. Speichern Sie die .htaccess
-Datei also in demjenigen Verzeichnis ab, in dem die zu schützenden Daten liegen. Sie können wahlweise das ganze Verzeichnis mit all seinen Unterverzeichnissen oder nur bestimmte Dateien oder Dateitypen schützen. Sie können den Passwortschutz außerdem wahlweise für einzelne Benutzer oder für ganze Benutzergruppen einrichten. Auch Kombinationen beider Formen sind möglich.
Damit der Verzeichnisschutz mit Passwort funktioniert, genügt die .htaccess
-Datei alleine allerdings nicht. Sie brauchen zusätzlich eine Datei, in der die Benutzernamen und die zugehörigen Passwörter stehen. Falls Sie mit Benutzergruppen arbeiten, benötigen Sie außerdem noch eine Datei, in der die Benutzergruppen definiert werden. Auch diese beiden anderen Dateien werden mit einem beliebigen Texteditor erstellt.
Eine ausführliche Anleitung zum Verzeichnisschutz via .htaccess finden Sie unter SELFHTML
Um einen einfachen Passwortschutz anzulegen, benötigen Sie zwei Dateien, .htaccess
und .htpasswd
. In .htaccess
wird der Verzeichnisschutz definiert und auf die zugehörige Passwortdatei .htpasswd
verwiesen.
.htaccess Beispieldatei:
AuthName "password protected" AuthType Basic AuthUserFile /var/www/web33/public_html/www/secure/.htpasswd Require valid-user
Mittels AuthUserFile
definieren Sie den vollständigen Dateipfad zur Passwortdatei.
.htaccess
unterstützt keine relativen Dateipfade! Geben Sie stets die kompletten absoluten Pfade an (inkl. /var/www/webXX/
), selbst wenn sich Ihre .htpasswd
-Datei im selben Verzeichnis befindet.
Die Passwortdatei enthält pro Zeile die Paare Benutzername:Passwort, wobei das Passwort verschlüsselt ist. Die Verschlüsselung eines Passworts können Sie mit Hilfe eines .htpasswd-Generators erreichen.
.htpasswd Beispieldatei:
test:$apr1$qxlaPHX7$WYfiEFsffWLGuKA1EHJkT0 anne:$apr1$Vz7Sgwm6$snqU165a7kQIFGIiLHmNF. kurtli:$apr1$CtRgWBbV$4NlQ3YnuCj0jKs0BWdsO40
Laden Sie die beiden Dateien mittels FTP in das zu schützende Verzeichnis. Das Verzeichnis und sämtliche darunterliegenden Dateien sind nun passwortgeschützt.
.htpasswd
Datei(en) innerhalb Ihrem /files
-Verzeichnis abzulegen und nicht innerhalb dem Webroot /public_html/www
(siehe Verzeichnisstruktur).
Unser Webserver verhindert zwar das Herunterladen von .htaccess
und .htpasswd
Dateien. Trotzdem ist es sicherheitstechnisch sinnvoller, ein kritische Datei wie .htpasswd
nicht im Webroot abzulegen.
Wenn Sie die Passwörter für Ihre .htpasswd
-Datei selbst erzeugen mittels dem Unix-commands htpasswd
. Beim erstmaligen Aufruf erzeugen Sie die Datei mittels Angabe des -c
(create) Parameters:
# htpasswd -c .htpasswd username
Danach ergänzen Sie zusätzliche Benutzer wie folgt:
# htpasswd .htpasswd anotheruser
Moderne Betriebssysteme legen die Passwort-Hashes mittels Unix CRYPT ab, zusätzlich mit einem „Salt“ gesichert.
Onlime Webhosting unterstützt neben dem Einfachen Verzeichnisschutz ebenfalls das Apache-Modul mod_auth_mysql. Sie können also Ihre Benutzernamen & Passwörter bequem in einer MySQL-Datenbank verwalten und den herkömmlichen Passwort-Schutz via .htaccess
verwenden.
.htaccess Beispieldatei:
AuthName "password protected" AuthType Basic AuthBasicAuthoritative Off AuthUserFile /dev/null AuthMySQL On AuthMySQL_Authoritative on AuthMySQL_Host localhost AuthMySQL_DB usr_web33_1 AuthMySQL_User usr_web33_1 AuthMySQL_Password xxxxxxxx AuthMySQL_Password_Table htaccess AuthMySQL_Username_Field username AuthMySQL_Password_Field password AuthMySQL_Encryption_Types PHP_MD5 require valid-user
In obigem Beispiel haben wir als Verschlüsslungsmethode PHP_MD5
verwendet, d.h. die Passwörter müssen mit md5 verschlüsselt in der Datenbank eingetragen werden. Eine mögliche MySQL-Tabellenstruktur sieht so aus:
CREATE TABLE `htaccess` ( `id` INT NOT NULL AUTO_INCREMENT, `username` VARCHAR(255) NOT NULL, `password` CHAR(32) DEFAULT NULL, PRIMARY KEY (`id`), ) TYPE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
Eintrag eines Testusers „test“ mit Passwort „1234“:
INSERT INTO `htaccess` (`username`, `password`) VALUES('test', MD5('1234'));
mod_auth_mysql unterstützt folgende Verschlüsselungsmethoden für das Passwort-Feld:
AuthMySQL_Encryption_Types Plaintext Crypt_DES Crypt_MD5 Crypt PHP_MD5 SHA1Sum MySQL