Passwortschutz für eine Private Homepage „von Hand“

Passwortschutz… wovon redest Du?!

Wenn man eine Private Homepage auf dem Server „privat.t-online.de“ hat, kann man ganze Verzeichnisse oder einzelne Seiten mit einem Passwort schützen.

T-Online hat das offenbar nur für die kostenpflichtige „Private Homepage Plus“ vorgesehen, aber wenn man weiß, wie’s geht, funktioniert der Passwortschutz auch bei einer „Privaten Homepage“ ohne Plus und ohne 2,95 EUR/Monat.

1. Passwortschutz für ganze Verzeichnisse

Um ein Verzeichnis mit einem Passwort zu schützen, musst Du eine Datei mit dem Namen „.access“ hochladen.

Der Inhalt der Datei entspricht einem Standard-Format, das vielen vielleicht als „.htpasswd“-Datei bekannt sein dürfte. Damit kann man unterschiedliche Passwörter für verschiedene Benutzernamen festlegen.

Um eine solche „.access“-Datei anzulegen, startest Du am besten Deinen bevorzugten Texteditor (damit meine ich natürlich nicht „Word“). Für jeden gewünschten Benutzername gibst Du eine Zeile in der Form Benutzername:gecryptetes Passwort an. Die Datei könnte z.B. so aussehen:

User:7Y9Om4PaOdBe.
Team:31mqHE5aJx40.

Die Punkte am Ende gehören bei diesem Beispiel zu den verschlüsselten Passwörtern. Hier wäre das Passwort für den Benutzer mit dem Namen „User“ „geheim“ und das Passwort für den Benutzer „Team“ wäre „strengge“. Mmehr als acht Zeichen werden bei der verwendeten Verschlüsselung ignoriert. Benutzername und Passwort sind case-sensitive, d.h. „User“ ist etwas anderes als „user“.

Bitte vor, nach und zwischen diesen Zeilen keine Leerzeilen angeben. Selbstverständlich kannst Du auch weniger oder mehr als zwei Kombinationen Benutzername/Passwort festlegen.

Wenn Du die Datei im Windows-Editor erstellt hast, wählst Du dann Datei/Speichern unter… Jetzt den Dateityp auf „Alle Dateien“ umstellen und als Dateiname .access eingeben.

Diese Datei „.access“, kannst Du nun mit einem FTP-Programm in das Verzeichnis, das geschützt werden soll, hochladen. Dabei muss unbedingt der ASCII-Modus aktiviert sein, sonst werden die Zeilenenden nicht richtig übertragen und das geschützte Verzeichnis lässt sich vermutlich gar nicht mehr aufrufen!

Es ist leider „normal“, dass die Datei „.access“ im FTP-Programm auf dem Server nicht zu sehen ist, denn bei Unix-Systemen sind Dateien, deren Name mit einem Punkt anfängt, versteckt.

Deshalb ist es auch nicht ganz einfach, eine solche .access-Datei wieder zu löschen, also den Passwortschutz aufzuheben. Windows-Benutzer müssen auf ein Kommandozeilen-Programm zurückgreifen, nämlich „ftp“: Start/Ausführen/“ftp“ eingeben und „OK“ klicken. Es tut sich ein Fenster auf, in dem man Befehle eintippen darf. Die eingetippten Befehle stehen jeweils in den Zeilen, die mit ftp> beginnen; <name> musst Du natürlich mit Deinem Homepage-Namen ersetzen:

ftp> open <name>.privat.t-online.de
Verbindung mit <name>.privat.t-online.de wurde hergestellt.
220 Welcome to T-Online FTP Service
Benutzer (<name>.privat.t-online.de:(none)): <name>@<name>.privat.t-online.de
331 Password required for <name>@<name>.privat.t-online.de.
Kennwort: <hier das FTP-Passwort eintippen>
230 User <name>@<name>.privat.t-online.de logged in.
ftp> dir
150 Opening ASCII mode data connection for file list
-rw-r-----   1 ftp      ftp            10 Dec 10 09:48 index.html
226 Transfer complete.

Hier ist also noch keine „.access“-Datei zu sehen…

ftp> dir -a
150 Opening ASCII mode data connection for file list
drwxr-x---   2 ftp      ftp            80 Dec 10 09:51 .
drwxr-x---   3 ftp      ftp           512 Dec 10 09:48 ..
-rw-r-----   1 ftp      ftp            38 Dec 10 09:54 .access
-rw-r-----   1 ftp      ftp            10 Dec 10 09:48 index.html
226 Transfer complete.

… aber mit dir -a sieht man sie.

ftp>del .access
250 DELE command successful.
ftp>quit

Um die versteckte Datei „.access“ zu sehen, muss man also wenn nötig mit cd <verzeichnisname> in das Verzeichnis wechseln und dir -a angeben. Löschen kann man sie mit del .access.

Hier kannst Du sehen, wie ein solches geschütztes Verzeichnis aussieht. Der Username ist „User“ und das Passwort ist „geheim“. Es funktioniert aber auch der Benutzer „Team“ mit dem Passwort „strengge“.

Unterverzeichnisse sind übrigens nicht automatisch passwortgeschützt, wenn das übergeordnete Verzeichnis passwortgeschützt ist.

Ja, toll, aber wie kann ich das Passwort verschlüsseln, damit ich es in der .access-Datei angeben kann?

Benutzer von Debian können das „mkpasswd„-Utility verwenden. Wer so etwas nicht auf dem eigenen Rechner hat, kann einen Web-Service in Anspruch nehmen, z.B. auf http://www.psu.edu/dept/cac/publish/htpasswd/htpasswd.html oder http://www.4webhelp.net/us/password.php oder  auch dieses JavaScript-Formular hier (das aber ohne Gewähr):

 

Passwort im Klartext eingeben:
Passwort verschlüsselt:

2. Passwortschutz nur für einzelne HTML-Dateien

Die nötigen Anweisungen müssen in der allerersten Zeile der Datei stehen, die mit einem Passwort geschützt sein soll. Diese Zeile muss so aussehen:

<!-- ~# Benutzername:gecryptetes Passwort #~ -->, also z.B.:

<!-- ~# User:7Y9Om4PaOdBe. #~ -->

Hier wäre der Benutzername „User“ und das Passwort „geheim“.

Achte genau auf die nötige Form (immer nur ein Leerzeichen, genau ein Doppelpunkt zwischen Username und Passwort) und schreibe außer diesem Kommentar nichts in die erste Zeile der Datei. Das Passwort kannst Du mit einer der oben beschriebenen Methoden verschlüsseln. Die erste Zeile wird vom Server später aus der Datei gelöscht, bevor er sie an einen Browser sendet.

Wichtig:
Das funktioniert nur bei Dateien mit der Extension „.html“, nicht bei „.htm“ und auch nicht bei anderen Extensions. Es lässt sich pro Datei anscheinend nur eine Username/Passwort-Kombination festlegen.

http://bueltge.de/md5/

http://lab.tech-and-dev.com/encryption_tools.php

http://www.tech-and-dev.com/2012/09/rotecting-directory-or-subdirectory-with-htaccess-htpasswd.html

Upload the wordpress-encryption-tools-generator directory to the /wp-content/plugins/ directory
Activate the plugin through the ‚Plugins‘ menu in WordPress
In your post or page add the shortcode(s).
Available shortcodes are:
4.a.
[encryption-tools-htpasswd]
– A form that will take a username and password and generate the username and encrypted password for the .htpasswd file
4.b.
[encryption-tools-md5]
– A form that will convert a text to a MD5 string.
4.c.
[encryption-tools-sha1]
– A form that will convert a text to a SHA1 string.