Защита папок скрипта от запуска сторонних скриптов

Как известно наибольшую угрозу для сайта представляют собой залитые злоумышленником на сервер PHP шеллы. Что это такое? Это PHP скрипты которые могут выполняться на вашем сервере, соответственно производить какие-либо изменения в файлах доступных для записи или могут, например читать содержимое конфигурационных данных и соответственно получать прямой доступ к базе данных. Каким образом могут попадать данные шеллы на ваш сервер? При обнаружении какой либо уязвимости в скрипте (CMS), или сторонних модулях, или вообще при наличии других уязвимых сторонних скриптов в вашей учетной записи, А так при плохом фильтровании загружаемых файлов (например в место картинки могут загрузить испольняемый файл php шел, и выполнять, типо  http://moysait.ru/uploads/script-shell.php). Главная особенность заключается в том, что шеллы можно залить не в любые папки на сервере, а лишь в папки доступные для записи на сервере.

В папках, в которых не нужно выполнение php кода, например в таких как /images/ /uploads/ /templates/ и т.п., то лучше всего запретить в них выполнения PHP файла.

Это можно сделать просто.

На серверах которые работают в режимах CGI, FastCGI, suPHP, DSO (Apache)

создать файл .htaccess в папке в которой вы хотите запретить выполнение php кода, если этот файл уже есть то в начале добавить следующий код:

<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][Ll]|[Ph][Hh][Tt][Mm][Ll])\.?.*">
Order allow,deny
Deny from all
</FilesMatch>


Данный код запрещает прямое обращение к PHP файлам, находящимся в этих папках.

На серверах которые работают в режиме mod_PHP (DSO - Apache PHP), там где не запрещены директивы php_flag, php_value ...

создать файл .htaccess в папке в которой вы хотите запретить выполнение php кода, если этот файл уже есть то в начале добавить следующий код:

php_flag engine off

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

  • 58 Users Found This Useful
Was this answer helpful?

Related Articles

Разделение сайтов для большей защиты от хакерских взломов

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