Рубрика: Apache » htaccess »

.htaccess в поддиректории WordPress c 777

Допустим, что плагин загружает текстовые файлы или изображения в поддиректорию WordPress. Эта поддиректория должна быть доступна для записи, т.е. для нее необходимо выставить права доступа 777, что потенциально представляет угрозу безопасности (злоумышленник может загрузить свой сценарий и взломать сайт). Для защиты можно использовать

***Вариант решения проблемы для продвинутых пользователей - использовать suEXEC (пользователь Apache получает возможность исполнять CGI и SSI программы под ID, отличающемся от ID веб-сервера).

Защита директории с помощью .htaccess

В директорию с такими правами доступа, как 760, 766, 775 или777, следует поместить файл .htaccess с инструкциями, запрещающими в этой директории и всех ее поддиректориях исполнение сценариев (файлов с определенными расширениями) и/или запись файлов кроме файлов заданных типов.

Ограничение по типам файлов

Запрет на все файлы кроме файлов с заданными расширениями:

<Files ^(*.jpeg|*.jpg|*.png|*.gif)>
order Deny,Allow
Deny from All
</Files>

Директива FilesMatch, разрешающая (Allow)  в директории только файлы заданных типов. (Запрет - аналогично с Deny вместо Allow):

<FilesMatch ".(ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$">
Allow from All
</FilesMatch>
Deny from All

Запрет выполнения сценариев

Вместо выполнения сценария текст сценария в браузере

Исполняемые файлы (файлы сценариев с расширением .pl, .cgi или .php) при запросе браузера будут обрабатываться сервером как простой текст, т.е. вместо результата выполнения сценария в браузер будет передан текст сценария (он появисят в окне браузера!):

AddType text/plain .pl
AddType text/plain .cgi
AddType text/plain .php

или

AddType text/plain .pl .cgi .php

Вместо выполнения сценария страница ошибки

Директива Options -ExecCGI запрещает исполнение cgi-сценариев. Следующая директива AddHandler регистрирует все файлы с заданными расширениями как cgi-сценарии. Таким образом, при попытке доступа к файлам с этими расширениями появится страница ошибки.

Options -ExecCGI
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi

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

<FilesMatch ".(php|pl|py|jsp|asp|htm|shtml|sh|cgi)$">
ForceType text/plain
</FilesMatch>

Источник: .htaccess for subdirectories

Опубликовано в рубрике htaccess | с метками , , . |

Один комментарий на «.htaccess в поддиректории WordPress c 777»

  1. zmoe говорит:

    А как сделать, чтобы все загружалось с правами 755?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *