# ================================
# SEGURANÇA - OCULTAR INFORMAÇÕES
# ================================

# Remover headers que expõem tecnologia do servidor
<IfModule mod_headers.c>
    Header unset X-Powered-By
    Header unset Server
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-Frame-Options "SAMEORIGIN"
    Header always set X-XSS-Protection "1; mode=block"
    Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

# Desabilitar assinatura do servidor
ServerSignature Off

# Desabilitar listagem de diretórios
Options -Indexes

# ================================
# REDIRECIONAMENTOS DE SEGURANÇA
# Páginas HTML são servidas via PHP com proteções
# ================================

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /rj/

    # 1. Redirecionar acessos diretos a arquivos .php para URLs limpas
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/rj/index\.php [NC]
    RewriteRule ^index\.php$ /rj/ [R=301,L]

    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/rj/debitos\.php [NC]
    RewriteRule ^debitos\.php$ consultar-debitos [R=301,L]

    # 2. Mapeamento Interno (Oculto)
    RewriteRule ^consultar-debitos$ debitos.php [L,QSA]
    
    # Redirecionar index.html para a raiz
    RewriteRule ^index\.html$ /rj/ [R=301,L]
    
    # Acesso à raiz ou arquivos inexistentes
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^$ index.php [L]
</IfModule>

# ================================
# PROTEÇÃO DE ARQUIVOS SENSÍVEIS
# ================================

<IfModule mod_rewrite.c>
    
    # Bloquear acesso a diretórios sensíveis
    RewriteRule ^cache/ - [F,L]
    RewriteRule ^fallback_events/ - [F,L]
    RewriteRule ^admin-server/config/ - [F,L]
    
    # Bloquear arquivos de configuração
    RewriteRule ^client-config\.php$ - [F,L]
</IfModule>

# Bloquear acesso a arquivos sensíveis
<FilesMatch "(^\..*|\.(?:bak|config|sql|ini|log|sh|inc|swp)$)">
    Order Deny,Allow
    Deny from all
</FilesMatch>

# Proteger arquivos de configuração específicos
<FilesMatch "^(client-config|security-client|security-init|database)\.php$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

# Bloquear arquivos JSON de dados
<FilesMatch "\.json$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order Deny,Allow
        Deny from all
    </IfModule>
</FilesMatch>
