Запрет выполнения PHP в конкретной директории

Когда нет времени на устранение дыр в безопасности проекта, но нужно быстро запретить исполнение загруженных php файлов в конкретной директории (обычно это папка для загрузок файлов или assets).

Если веб-сервер Apache достаточно создать в директории файл .htaccess со следующим содержимым (комментарии можно убрать):

# отключаем исполнение CGI и листинг директорий
Options -ExecCGI -Indexes
# отменяем все обработчики и явно отключаем PHP
RemoveHandler .php .phtml .php3
RemoveType .php .phtml .php3
php_flag engine off
# для всех файлов с расширением .php
<FilesMatch "\.php$">
# отменяем обработчик
SetHandler none
# и полностью запрещаем доступ
Order Allow,Deny
Deny from all
</FilesMatch>

Данное решение может показаться избыточным, однако у различных хостинг провайдеров установлены различные настройки и данный способ вполне универсален.

Прочие полезные хаки .htaccess описаны в данной статье

2019   .htaccess   Apache   PHP
Популярное