# =========================
# Grundschutz
# =========================
# Kein Directory-Listing
Options -Indexes
# Schutz für sensible Dateien
Require all denied
# TODO: ggf. weitere Dateien schützen, z.B. uploads oder tmp
# =========================
# Rewrite zu index.php
# =========================
RewriteEngine On
# Alles auf index.php umleiten, außer echte Dateien/Verzeichnisse
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z\-]*)$ index.php?module=$1 [QSA,L]
RewriteRule ^([a-z\-]*)/([a-z]*)$ index.php?module=$1&action=$2 [QSA,L]
RewriteRule ^$ index.php [QSA,L]
# =========================
# Standard-Dokument
# =========================
DirectoryIndex index.php
# =========================
# Security Headers
# =========================
Header set X-Content-Type-Options "nosniff"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "no-referrer-when-downgrade"
Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self'; img-src 'self' data:;"
# =========================
# Upload-Sicherheit
# =========================
#
# Require all denied
#
# TODO: Optional: Upload-Verzeichnisse (device_types, floorplans) via .htaccess zusätzlich schützen