7. .htaccess / .htpasswd (Backend)

Jetzt muss nur noch die .htaccess-Datei angelegt werden. Dies stellt den Schutz deines Backends sicher.

Hier, wie in allen Konfigurationsdateien, nur die entsprechend gekennzeichneten Stellen an deine Bedingungen anpassen. Der Übersichtlichkeit wegen wird hier die komplette Datei angezeigt.

Die blaue Schrift dient nur der Erklärung einzelner Anpassungen und darf nicht in der eigentlichen Datei stehen und der orange hervorgehobene Text muss entsprechend angepasst werden!

Hier siehst du den Aufbau einer .htaccess-Datei mit einem IP-Filter:

# As an example, all IPs are listed by Alice.
# Of course, comply with the IPs of your provider are here!
# IPs von Alice-DSL
1.Teil
Folgender Eintrag erlaubt nur Zugang von Rechnern deren IP mit 62.109. beginnt
SetEnvIfNoCase REMOTE_ADDR "^62.109." user_ip
Folgender Eintrag erlaubt nur Zugang eines Rechners mit der IP mit 78.48.211.22
SetEnvIfNoCase REMOTE_ADDR "^78.48.211.22" user_ip
SetEnvIfNoCase REMOTE_ADDR "^78.49." user_ip
SetEnvIfNoCase REMOTE_ADDR "^78.50." user_ip
SetEnvIfNoCase REMOTE_ADDR "^78.51." user_ip
SetEnvIfNoCase REMOTE_ADDR "^78.52." user_ip
SetEnvIfNoCase REMOTE_ADDR "^78.53." user_ip
SetEnvIfNoCase REMOTE_ADDR "^78.54." user_ip
SetEnvIfNoCase REMOTE_ADDR "^78.55." user_ip
SetEnvIfNoCase REMOTE_ADDR "^80.171." user_ip
SetEnvIfNoCase REMOTE_ADDR "^85.176." user_ip
SetEnvIfNoCase REMOTE_ADDR "^85.177." user_ip
SetEnvIfNoCase REMOTE_ADDR "^85.178." user_ip
SetEnvIfNoCase REMOTE_ADDR "^85.179." user_ip
SetEnvIfNoCase REMOTE_ADDR "^85.180." user_ip
SetEnvIfNoCase REMOTE_ADDR "^85.181." user_ip
SetEnvIfNoCase REMOTE_ADDR "^85.182." user_ip
SetEnvIfNoCase REMOTE_ADDR "^85.183." user_ip
SetEnvIfNoCase REMOTE_ADDR "^91.208.191." user_ip
SetEnvIfNoCase REMOTE_ADDR "^92.224." user_ip
SetEnvIfNoCase REMOTE_ADDR "^92.225." user_ip
SetEnvIfNoCase REMOTE_ADDR "^92.226." user_ip
SetEnvIfNoCase REMOTE_ADDR "^92.227." user_ip
SetEnvIfNoCase REMOTE_ADDR "^92.228." user_ip
SetEnvIfNoCase REMOTE_ADDR "^92.229." user_ip
SetEnvIfNoCase REMOTE_ADDR "^92.230." user_ip
SetEnvIfNoCase REMOTE_ADDR "^92.231." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.22.180." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.22.181." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.22.182." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.22.183." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.28.72." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.28.73." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.28.74." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.28.75." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.28.76." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.28.77." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.28.78." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.28.79." user_ip
SetEnvIfNoCase REMOTE_ADDR "^193.102.14." user_ip
SetEnvIfNoCase REMOTE_ADDR "^195.160.172." user_ip
SetEnvIfNoCase REMOTE_ADDR "^195.160.173." user_ip
SetEnvIfNoCase REMOTE_ADDR "^213.39." user_ip
SetEnvIfNoCase REMOTE_ADDR "^213.191." user_ip

Order Deny,Allow
Deny from All
Allow from env=user_ip

2.Teil
AuthName "Dein Benutzername für das Backend"
AuthType Basic
Der folgende Pfad ist der auf deinem Server zur Passwortdatei
AuthUserFile Your/absolute/path/to/.htpasswd
require valid-user

1. Teil

Das einfachste, um den  größten Teil des Webs von deinem Backend fernzuhalten, ist der den Zugang mittels einer Whitelist nur für einen bestimmten IP-Bereich zu erlauben. Im obigen Beispiel sind alle damaligen IP-Bereiche des Anbieters ALICE aufgeführt. Dieser Bereich kann aber weiter eingeschränkt werden.
Dabei hilft eine einfache Anfrage bei deinem Anbieter oder das "Try and error"-Prinzip. Letzteres funktioniert so das du auf einer Webseite (z. B. http://www.wieistmeineip.de/) deine IP ermittelst. Du suchst nun auf der Seite http://www.nirsoft.net/countryip/de.html einen Bereich, in dem deine IP ist und deren Anbieter deinem entspricht.

Als Beispiel: Deine IP lautet 2.200.100.11, dein Anbieter ist die Vodafone GmbH. Auf der Webseite findest du nun den Eintrag für den Bereich 2.200.0.0 bis 2.207.255.255 der Vodafone GmbH. In diesen Bereich passt deine IP.

Den gesamten Bereich kannst du nun mit diesen Einträgen freigeben:

SetEnvIfNoCase REMOTE_ADDR "^2.200." user_ip
SetEnvIfNoCase REMOTE_ADDR "^2.201." user_ip
SetEnvIfNoCase REMOTE_ADDR "^2.202." user_ip
SetEnvIfNoCase REMOTE_ADDR "^2.203." user_ip
SetEnvIfNoCase REMOTE_ADDR "^2.204." user_ip
SetEnvIfNoCase REMOTE_ADDR "^2.205." user_ip
SetEnvIfNoCase REMOTE_ADDR "^2.206." user_ip
SetEnvIfNoCase REMOTE_ADDR "^2.207." user_ip

Du kannst natürlich auch deine IP als einzige angeben. Dies ist aber sehr unpraktisch, da du bei jeder neuen Verbindung mit dem Internet von deinem Provider eine dieser IPs, aus dem angezeigten Bereich, zugewiesen bekommst. Jede dieser IPs musst du dann in der Liste eintragen.
Aber auch so hast du den allergrößten Teil des Webs aus deinem Backend ausgesperrt.

2. Teil

Hier muss dein Benutzername eingetragen werden und stellt beim Anmelden die erste Hürde dar. Nur bitte nicht einfach deinen Namen oder „Admin”. Auch hier eine untypische Bezeichnung wie „Thomas_kanns_nicht lassen” oder so etwas nehmen.

Für den .htaccess-Schutz musst du jetzt noch das Passwort, in verschlüsselter Form, erstellen und in der datei „.htpaswd” speichern. Dazu kannst du natürlich ein Online-Tool nehmen, bei dem du aber nie sicher sein kannst ob dein Passwort und dein Benutzername nicht doch gespeichert werden. Daher nutze dieses Tool: htgen Version 1.0.0. Das kannst du auf deinem Rechner starten und bist sicher das kein anderer dein Passwort mitlesen kann.

Um die Datei mit deinem Passwort der htaccess-Datei mitzuteilen musst du noch den Serverpfad feststellen.
Dazu rufst du die Datei info.php in deinem Admin-Verzeichniss auf (http://www.deine_Domain.de/Adminverzeichnissname/info.php. Auf der Seite die dann in deinem Browser angezeigt wird suchst du nach dem Eintrag „DOCUMENT_ROOT”. Dort findest du etwas ähnliches wie „/var/www/web874512/html/tobbivmshop”. Dies ist der Serverpfad zu deiner Shop-Domain.
Sicherheitshalber soll die Passwortdatei über deinem Domainverzeichnis liegen! Das heißt in diesem Fall lautet der Pfad zu deiner Passwortdatei „/var/www/web874512/html”.
Nun starte den htgen und trage in den entsprechenden Feldern deine Angaben ein.

Einstellungen im htgen

Die Angaben in den Ausgabefeldern kopierst du in die .htaccess- bzw. .htpasswd-Datei und speicherst diese in deinem Webspace. Nicht vergessen: Die .htpasswd-Datei kommt hierhin:

Laut dem Beispiel
html/

Hier kommen alle TobbiVM-Shop-Dateien hinein
html/tobbivmshop/

Die .htpasswd muss hier stehen
html/.htpasswd
und die .htaccess muss hier stehen
html/tobbivmshop/admin/.htaccess

Bei Fragen oder Fehlern schreibt bitte ins Forum.

Letzte Bearbeitung: 30.08.2016, 18:51