# SmartFleet Server - Schutz des Wurzelverzeichnisses
#
# Diese Datei wird beim Bauen zu ".htaccess" im entpackten Paket. Sie liegt
# in GENAU DEM Verzeichnis, das der Partner als Webroot hochlaedt oder als
# Domain-Verzeichnis einrichtet - index.php, setup.php, api/, ui/, icons/
# UND, gleich daneben, lib/ und schema/ mit dem Programmcode. Es gibt kein
# zweites, "privates" Verzeichnis eine Ebene darueber: Der Partner soll das
# Paket dorthin entpacken koennen, wo er will - Domain-Wurzel oder ein
# selbst gewaehltes Unterverzeichnis - ohne eine zweite Ebene fuer lib/ und
# schema/ verwalten zu muessen, die viele Hoster ohnehin nicht anbieten.
#
# Deshalb sperren sich lib/ und schema/ SELBST (eigene .htaccess darin,
# "Require all denied") statt ueber eine Ausnahme hier. Diese Datei muss nur
# noch die paar Dateien sperren, die zwar in diesem Verzeichnis liegen, aber
# nie ausgeliefert werden duerfen.
#
# ZWEI SPERREN, WEIL EINE NICHT REICHT.
#
# Wo AllowOverride aus ist, wird diese Datei ignoriert - und zwar wortlos.
# Deshalb liegt in jedem heiklen Verzeichnis zusaetzlich eine leere
# index.html gegen die Verzeichnisauflistung, und die Ablage prueft ihre
# Sperre spaeter von aussen nach (Spec 6.5). Wer sich allein auf .htaccess
# verlaesst, hat eine Sicherung, die er nie getestet hat.

<FilesMatch "^(config(\.sample)?\.php|README\.md|LICENSE)$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
    </IfModule>
</FilesMatch>

# --- Keine Verzeichnisauflistung ----------------------------------------
Options -Indexes
