# Pastikan index.php yang dipakai sebagai halaman default folder.
DirectoryIndex index.php

# Nonaktifkan directory listing.
Options -Indexes

# Header keamanan dasar. CSP boleh ketat (tanpa 'unsafe-inline' di script-src)
# karena semua halaman 100% server-rendered -- tidak ada script eksternal/CDN,
# dan semua event handler sudah dipindah ke assets/js/admin.js.
<IfModule mod_headers.c>
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
    Header always set Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; frame-ancestors 'self'; base-uri 'self'; form-action 'self'"
</IfModule>

# Cegah akses ke file konfigurasi/backup yang mungkin tersasar ke sini.
# (Sintaks ganda supaya jalan di Apache 2.4 maupun 2.2 lama.)
<FilesMatch "\.(sql|log|env|md)$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
    </IfModule>
</FilesMatch>
