# Wyłącz listowanie
Options -Indexes

# Domyślnie blokujemy wszystko…
Require all denied

# …a dopiero potem pozwalamy na pliki statyczne
<FilesMatch "\.(css|js|map|mjs|png|jpe?g|gif|svgz?|webp|ico|woff2?|woff|ttf|eot)$">
    Require all granted
</FilesMatch>

# Twardo blokuj cokolwiek, co mogłoby się wykonać
<FilesMatch "\.(php|phtml|php[0-9]?|phar|pht|cgi|pl|py|sh)$">
    Require all denied
</FilesMatch>

<Files "thumb.php">
    Require all granted
</Files>

<Files "ajax.php">
    Require all granted
</Files>

<Files "upload-product-images.php">
    Require all granted
</Files>

<Files "upload-product-files.php">
    Require all granted
</Files>

<Files "upload-articles-files.php">
    Require all granted
</Files>

<Files "upload-articles-images.php">
    Require all granted
</Files>

# Nie serwuj plików ukrytych (.env itp.)
<FilesMatch "^\.(.*)$">
    Require all denied
</FilesMatch>