Htaccess-Einstellungen

Für Fortgeschrittene geeignet
 

Vorraussetzungen

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".
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:
<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:
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:
<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:
<FilesMatch restore.php>
Allow from all
</FilesMatch>

Weiterführende / Verwandte Artikel