Leon1010

Я в Соц.сетях:

Теги:

Ссылки

Запретим выполнение PHP скриптов в папке (диретории) сайта

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

Тогда, мы начинаем искать альтернативные методы минимизации дыр на сайте, стараясь оставить его в рабочем состоянии на максимально длительный срок.

Самой частой уязвимостью становится — возможность хакеру закачивать директорию доступную для записи, где должны хранится картинки (например uploads) разнообразные php шеллы и бэкдоры.

Значит, наша задача: запретить php интерпретатору обрабатывать файлы в этих директориях, либо запретить доступ к файлам .php в этих папках.

В зависимости от web сервера делаем следующее:

Apache

У нужной нам папке создаем (или добавляем в уже созданный) файл .htaccess с нужными правилами в нем:

# Разрешить доступ только к файлам определенного расширения 
<FilesMatch "\.(jpg|png|gif)$|^$">   
Order deny,allow   
Allow from all 
</FilesMatch>

# Выключим php 
php_flag engine 0

# для всех опасных файлов сделаем тип html 
RemoveHandler .* 
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

Nginx

В файл конфигурации nginx добавляем:

location ~* ^/(images)/.+\.(php|php3|php4|php5|phtml|phps|pl|pm)$ {
         deny all; 
} 

Где images — папка, в которой нужно запретить выполнение скриптов.

Запись опубликована в рубрике Администрирование с метками , .