Блокировка папки в apache, чтобы запретить php или любой другой код на стороне сервера (ТОЛЬКО html) - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть сторонний проект, где пользователи будут загружать zip-файлы, содержащие html-код. Это в основном дезинфицируется (это могут делать только клиенты), но все равно переводит меня в «режим повышенной готовности». Клиенты могут загружать только файлы html / binary / javascript (т.е. html, htm, js, gif, png, jpeg, swf). Я бы предпочел, чтобы они были загружены на веб-сервер, который поддерживает только HTML-код.

Вот мой мыслительный процесс

Шаг 1: Пользователь загружает zip через php

Шаг 2: PHP извлекает zip-файл в «HTML only land» на веб-сервере

Шаг 3: Папка затем просматривается / утверждается

Шаг 4: Клиент получает URL-адрес из загрузки

Как мне лучше всего выполнить шаг 2? Если я использую apache, могу ли я сказать, что «папка x не может запускать любой код php или исполняемые файлы»? Скажем, я создаю папку с именем / var / www / dangerdanger, какие ограничения я должен применить к «dangerdanger», чтобы она не позволяла выполнять какой-либо код?

Повторюсь, я не ищу защиты от "грязных немытых масс", это были бы клиенты. Конечно, кто-то еще может украсть логин клиента или злой сотрудник может попытаться сделать что-то бесполезное. Вот почему мне нужен некоторый уровень безопасности на стороне сервера.

Буду признателен за любую помощь

1 Ответ

1 голос
/ 03 февраля 2012

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

RemoveHandler .php

Возможно, вы захотите проверить, что может запускать ваш сервер, и продублировать эту строку для каждого возможного языка веб-сервера.Очевидно, что могут быть и другие вещи, но HTACCESS будет способом отключить функции, которые вам не нужны в определенной папке.

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

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