Für Fortgeschrittene geeignet
Vorraussetzungen
- Allgemeine Voraussetzungen
- FTP-Zugang
Dauer
ca. 30 Min.Htaccess-Schutz für Joomla!-Verzeichnisse
Joomla! wurde nach dem sog. „MVC-Modell“ programmiert, d. h. alle Aufrufe werden zentral über eine Datei gesteuert, andere benötigte Dateien werden nur in diese zentrale Datei hineingeladen.
Genau diese Besonderheit kann man sich bei der Absicherung von Joomla! zu Nutze machen, da außer auf diese zentrale Datei kein weiterer Zugriff auf andere Dateien nötig ist.
Joomla!-Verzeichnisse mit Htaccess-Datei schützen
Für einen effektiven Schutz sollten Sie sowohl „Zugriffsschutz - ohne Ausnahme“, als auch „Zugriffsschutz - mit Ausnahme“ in Ihrem Joomla! umsetzen.
Wenn Sie den Administrationsbereich mit dem in unserem Artikel „Adminbereich: Htaccess-Schutz“ beschriebenen zusätzlichen Passwortschutz ausgerüstet haben, so sind die Htaccess-Dateien in diesem Artikel für den Pfad „/administrator“ nicht zwangsweise erforderlich.
Zugriffsschutz - ohne Ausnahme
<Files "*.*">
Deny from all
</Files>
Durch den Befehl „Deny from all“ wird der Zugriff auf alle Dateien, Unterverzeichnisse und das Verzeichnis, in dem diese Htaccess-Datei liegt, verweigert.
Diese Datei muss in die folgenden Verzeichnisse kopiert werden:
- /administrator/cache
- /administrator/help
- /administrator/includes
- /administrator/language
- /administrator/manifests
- /bin
- /cache
- /cli
- /includes
- /language
- /layouts
- /libraries
- /logs
- /tmp
Archiv für Joomla 1.5
- /administrator/backups
- /administrator/cache
- /administrator/language
- /cache
- /language
- /libraries
- /logs
- /tmp
- /xmlrpc*
* Sollten Sie die XML-RPC-Funktion nutzen wollen, so verzichten Sie einfach auf die Htaccess-Datei in diesem Verzeichnis.
Archiv für Joomla 2.5
- /administrator/cache
- /administrator/includes
- /administrator/language
- /administrator/manifests
- /cache
- /cli
- /includes
- /language
- /libraries
- /logs
- /tmp
Zugriffsschutz - mit Ausnahme
<Files "*.*">
Deny from all
</Files>
<FilesMatch "\.(js|css|png|jpg|jpeg|gif|ico|flv|swf|woff|woff2|eot|ttf)$">
Allow from all
</FilesMatch>
Der erste Befehl („Deny from all“) verweigert wieder den Zugriff auf alle Dateien, Unterverzeichnisse und das Verzeichnis selbst.
Im zweiten Befehl („Allow from all“) werden für die folgenden Dateitypen eine Ausnahme definiert: „js“, „css“, „png“, „jpg“, „gif“, „ico“, „flv“, „swf“, "woff", "woff2", "eot" und "ttf".
Im zweiten Befehl („Allow from all“) werden für die folgenden Dateitypen eine Ausnahme definiert: „js“, „css“, „png“, „jpg“, „gif“, „ico“, „flv“, „swf“, "woff", "woff2", "eot" und "ttf".
Sie können die erlaubten Dateitypen jederzeit und individuell pro Verzeichnis anpassen!
Diese Datei muss nun in die folgenden Verzeichnisse kopiert werden (auch für Joomla! 2.5):
- /administrator/components
- /administrator/help
- /administrator/modules
- /administrator/templates
- /components
- /images
- /media
- /modules
- /plugins
- /templates
Archiv für Joomla 1.5
- /administrator/components
- /administrator/help
- /administrator/images
- /administrator/includes
- /administrator/modules
- /administrator/templates
- /components
- /images
- /includes
- /media
- /modules
- /plugins
- /templates
Weitere Ausnahmen
Manche Erweiterungen brauchen einen sog. „Direktaufruf“ über eine PHP-Datei. Leider ist dies nur durch ausgiebige Tests herauszufinden.
Hat man die Datei gefunden, die direkt aufgerufen werden muss, ergänzt man eine weitere „.htaccess“-Datei im betroffenen Verzeichnis und schreibt das Folgende:
Hat man die Datei gefunden, die direkt aufgerufen werden muss, ergänzt man eine weitere „.htaccess“-Datei im betroffenen Verzeichnis und schreibt das Folgende:
<Files dateiname.php>
Allow from all
</Files>
Archiv für TinyMCE in Joomla! 1.5
Beispiel: TinyMCE und JCE
Beim TinyMCE bzw. JCE muss folgende Datei im Verzeichnis „/plugins/editors/jce/tiny_mce“ (JCE) bzw. „/plugins/editors/tinymce/jscripts/tiny_mce“ (TinyMCE) angelegt werden:
Beim TinyMCE bzw. JCE muss folgende Datei im Verzeichnis „/plugins/editors/jce/tiny_mce“ (JCE) bzw. „/plugins/editors/tinymce/jscripts/tiny_mce“ (TinyMCE) angelegt werden:
Die erste Anweisung („[...] popupImage.php [...]“) muss nur beim JCE eingebaut werden!
<Files popupImage.php>
Allow from all
</Files>
<Files tiny_mce_gzip.php>
Allow from all
</Files>
<FilesMatch "\.(htm|html)$">
Allow from all
</FilesMatch>
Archiv für TinyMCE in Joomla! 2.5
Beispiel: TinyMCE
Nur noch beim TinyMCE muss folgende Datei im Verzeichnis „/media/editors/tinymce“ angelegt werden:
Nur noch beim TinyMCE muss folgende Datei im Verzeichnis „/media/editors/tinymce“ angelegt werden:
<FilesMatch "\.(htm|html)$">
Allow from all
</FilesMatch>
Archiv für Aktualisierungen in Joomla! 2.5
Beispiel: Joomla!-Aktualisierung
Damit die automatische Joomla!-Aktualisierung unter „Erweiterungen“ -> „Joomla!-Aktualisierung“ funktioniert, muss der direkte Zugriff auf die Datei „restore.php“ gewährt werden. Also legen Sie eine neue Htaccess-Datei im Pfad „administrator/components/com_joomlaupdate“ mit folgendem Inhalt an:
Damit die automatische Joomla!-Aktualisierung unter „Erweiterungen“ -> „Joomla!-Aktualisierung“ funktioniert, muss der direkte Zugriff auf die Datei „restore.php“ gewährt werden. Also legen Sie eine neue Htaccess-Datei im Pfad „administrator/components/com_joomlaupdate“ mit folgendem Inhalt an:
<FilesMatch restore.php>
Allow from all
</FilesMatch>
Weiterführende / Verwandte Artikel
- Wikipedia.de: MVC-Modell
- Adminbereich: Htaccess-Schutz