diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..e4283e9 --- /dev/null +++ b/.htaccess @@ -0,0 +1,31 @@ +# Zugriffsschutz fuer den gesamten Web-Root. +# +# restricted/.htaccess schuetzt nur ein Verzeichnis. Die Regeln hier greifen +# fuer den ganzen Baum und fangen ab, was ausserhalb davon liegt - allen voran +# das Git-Verzeichnis, ueber das sich sonst der komplette Quellcode samt +# Historie herunterladen laesst. + +# --- Punkt-Verzeichnisse und -Dateien: .git, .claude, .gitignore --- +# .well-known bleibt frei, das brauchen Zertifikatsausstellungen. + + RewriteEngine On + RewriteRule (^|/)\.(?!well-known/) - [F,L] + + + + RedirectMatch 404 (^|/)\.(?!well-known/) + + + +# --- Dateitypen, die der Browser nie anfordert --- +# Konfiguration, Python-Skripte, Datenhaltung, Vorlagen und Archive. Die +# Seite laedt ausschliesslich .php, .css, .js, Bilder und Schriften. + + + Require all denied + + + Order allow,deny + Deny from all + + diff --git a/restricted/.htaccess b/restricted/.htaccess index 3418e55..c027241 100644 --- a/restricted/.htaccess +++ b/restricted/.htaccess @@ -1 +1,18 @@ -deny from all \ No newline at end of file +# Kein Zugriff von aussen. Die Dateien hier werden ausschliesslich +# serverseitig eingebunden. +# +# "deny from all" allein setzt auf Apache 2.4 voraus, dass mod_access_compat +# geladen ist. Fehlt das Modul, quittiert Apache die Direktive mit einem +# Fehler und liefert 500 - der Schutz haengt also an einem Modul, das nur aus +# Abwaertskompatibilitaet existiert. Beide Schreibweisen nebeneinander machen +# ihn davon unabhaengig. + + + # Apache 2.4 + Require all denied + + + # Apache 2.2 + Order allow,deny + Deny from all +