# uploads/ — только изображения медиатеки (JPEG, PNG, WebP, GIF, AVIF) со
# сгенерированными именами. Документы лежат вне публичного каталога
# (storage/documents/) и отдаются приложением. Здесь ничего не исполняется
# и не отдаётся как разметка, даже если такой файл кто-то положит вручную.
<FilesMatch "(?i)\.(php\d?|phtml|phar|pht|phps|cgi|pl|py|sh|asp|aspx|jsp|shtml?|html?|xhtml|svgz?|js|mjs|xml|htaccess)$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
    </IfModule>
</FilesMatch>

<IfModule mod_headers.c>
    Header always set X-Content-Type-Options "nosniff"
</IfModule>
