.htaccess ergaenzen: interne Verzeichnisse/Configdateien nicht oeffentlich

Sperrt Direktzugriff auf var/ (Session-/Mail-Dateien), database/,
scripts/, docs/, app/, lib/ sowie env.local*.php, .sql und .md-Dateien.
Lokal beim PHP-Dev-Server ohne Wirkung (kein Apache), greift aber auf
echtem Apache-Webhosting.
This commit is contained in:
2026-07-17 11:41:24 +02:00
parent b6199623c5
commit 0416504d6a
+36
View File
@@ -0,0 +1,36 @@
# Nur *.php im Webroot und assets/ sollen direkt aufrufbar sein. Interne
# Verzeichnisse (Sessions, Mail-Logs, Migrationen, CLI-Skripte, Doku,
# App-Bausteine, Legacy-DB-Shim) und Konfigurationsdateien mit
# Zugangsdaten duerfen nicht direkt per URL abrufbar sein.
<IfModule mod_authz_core.c>
<DirectoryMatch "^.*/(var|database|scripts|docs|app|lib)/">
Require all denied
</DirectoryMatch>
</IfModule>
<IfModule !mod_authz_core.c>
<DirectoryMatch "^.*/(var|database|scripts|docs|app|lib)/">
Order allow,deny
Deny from all
</DirectoryMatch>
</IfModule>
<FilesMatch "^(env\.local\.php|env\.local\.example\.php|\.env.*|composer\.(json|lock))$">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
</FilesMatch>
<FilesMatch "\.(sql|md)$">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
</FilesMatch>