Verzeichnisse mit htaccess sperren
Joomla! ist 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.Warum Verzeichnisse freigeben, die nicht öffentlich zugänglich sein müssen?
Genau diesen Umstand kann man sich zu Nutze machen, da außer auf diese zentrale Datei der Zugriff auf andere Dateien nicht nötig ist.
Die Administration
Auf die Administration, jedenfalls auf die erste Ebene, brauchen wir aber noch Zugriff, damit wir die Administration wie gewohnt nutzen können.Achtung!:
Schützen Sie unbedingt die erste Ebene des Administrator-Verzeichnisses!
Wie das geht können Sie im Beitrag „Schutz der Administration“ nachlesen.
Schützen Sie unbedingt die erste Ebene des Administrator-Verzeichnisses!
Wie das geht können Sie im Beitrag „Schutz der Administration“ nachlesen.
Man kann alle Verzeichnisse von Joomla! mit einer .htaccess-Datei wie dieser sperren:
<Files "*.*">Diese Datei muss in die folgenden Verzeichnisse:
Deny from all
</Files>
- /administrator/backups
- /administrator/cache
- /administrator/language
- /cache
- /language
- /libraries
- /logs
- /tmp
- /xmlrpc
Allerdings muss in einige Verzeichnisse eine abgewandelte Datei hinein:
<Files "*.*">Diese Datei muss in die folgenden Verzeichnisse:
Deny from all
</Files>
<FilesMatch "\.(js|css|png|jpg|jpeg|gif|ico|flv|swf)$">
Allow from all
</FilesMatch>
- /administrator/components
- /administrator/help
- /administrator/images
- /administrator/includes
- /administrator/modules
- /administrator/templates
- /components
- /images
- /includes
- /media
- /modules
- /plugins
- /templates
Achtung!:
Manche Erweiterungen brauchen einen Direktaufruf über eine PHP-Datei. Das kann man aber leider nur durch ausgiebige Tests herausfinden.
Hat man die Datei gefunden ergänzt man eine weitere htaccess-Datei in dem betroffenen Verzeichnis und schreibt das Folgende:
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:
Manche Erweiterungen brauchen einen Direktaufruf über eine PHP-Datei. Das kann man aber leider nur durch ausgiebige Tests herausfinden.
Hat man die Datei gefunden ergänzt man eine weitere htaccess-Datei in dem betroffenen Verzeichnis und schreibt das Folgende:
<Files dateiname.php>Beispiel: TinyMCE / JCE
Allow from all
</Files>
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:
# Diese erste Anweisung 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>