# Disable directory listing Options -Indexes # Block direct HTTP access to sensitive files Require all denied Require all denied Require all denied # Belt-and-braces: block any dotfile path component (except /.well-known) RewriteEngine On RewriteRule "(^|/)\.(?!well-known)" - [F,L] # A raiz web é o repositório inteiro, por isso fecha-se o que não é página: # - parciais (_form.php e afins) só se incluem, nunca se pedem; # - PHP soltos do platform-tools: só api/ e backups/ (auto-chamada com token) # são endpoints; o resto é incluído pelas páginas de views/sysadmin/; # - documentação (*.md) não é para servir. RewriteRule "(^|/)_[^/]*\.php$" - [F,L] RewriteRule "^shared/platform-tools/[^/]+\.php$" - [F,L] RewriteRule "\.md$" - [F,L] # ── Headers de segurança ───────────────────────────────────────────────────── # script-src: 'self' (todo o JS próprio, incl. Bootstrap/jQuery/Summernote # vendorizados desde 25/09) + 'unsafe-inline' (o site tem vários