
Мне поручено поддерживать веб-сервер LAMP, который уже подвергся нападкам со стороны некоторых программистов PHP, которые никогда не слышали о SQL-инъекциях, CSRF или подобных темах. Существует несколько каталогов, доступных для записи всем, в которые эти PHP-скрипты должны использоваться для загрузки изображений. Конечно, их также можно использовать для загрузки PHP-скриптов, таких как веб-оболочки.
Существует ли модуль или директива Apache, которая может отключить движок PHP для любого обнаруженного каталога, доступного для записи Apache?
safe_mode, хоть и отвратительный хак, был включен на сайтах, о которых идет речь. Но помимо этого я отказываюсь брать на себя ответственность за аудит или прикосновение хотя бы к одной строке этих ужасных PHP-скриптов.
решение1
Самый простой способ — поместить php_flag engine off
файл .htaccess в этот каталог. Директива "engine" поддерживается только в php 4.0.5 или более поздней версии.
Вы также можете попробовать удалить обработчики в apache с помощью .htaccess (например RemoveHandler .php
), но я бы сначала попробовал другой. Удаление обработчика — один из тех методов «заставить его сломаться», которые иногда приводят к обратному эффекту.