# ==========================================
# غیرفعال کردن نمایش لیست فایل‌ها (Directory Listing)
# ==========================================
Options -Indexes
IndexIgnore *

# ==========================================
# محافظت از فایل‌های حساس با پسوند خاص
# ==========================================
<FilesMatch "\.(json|txt|log|sh|zip|bak|ini|sql|env|md|yml|yaml)$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order Allow,Deny
        Deny from all
    </IfModule>
</FilesMatch>

# ==========================================
# محافظت از فایل‌های بدون پسوند مثل error_log
# ==========================================
<FilesMatch "^error_log$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order Allow,Deny
        Deny from all
    </IfModule>
</FilesMatch>

# ==========================================
# مسدود کردن فایل‌های PHP حساس (فقط webhook/cron/callback/setup باز بمانند)
# اگر اسم فایل‌های دیگه‌ای هم داری که نباید مستقیم اجرا بشن، به این لیست اضافه کن
# ==========================================
<FilesMatch "^(Database|BotHandler|Telegram|PanelAPI|PanelAPIv2|HooshPayAPI|config|diagnose)\.php$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order Allow,Deny
        Deny from all
    </IfModule>
</FilesMatch>

# ==========================================
# محافظت از خود فایل .htaccess
# ==========================================
<Files ".htaccess">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order Allow,Deny
        Deny from all
    </IfModule>
</Files>
