Я храню свои журналы в папке «log» над моим веб-каталогом.

Моя структура каталогов выглядит так:

 web/  (document root)
 log/  (log files go in here)

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

  <Directory  absolute_path_to/log>
    Order allow,deny
    Deny from all
    Satisfy All
  </Directory>

[Редактировать]

Я использую платформу Symfony, и файл .htacess помещается в веб-папку.

Файл .htacess содержит следующий раздел:

##Protect your site<92>s PHP error log via htaccess
# prevent access to php error log
<Files ../log/php_errors.log>
  Order allow,deny
  Deny from all
  Satisfy All
</Files>

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

Мне сообщили (Iganacio), что сервер автоматически блокирует доступ к папкам вне корня документа. В любом случае, если это не помешает, я, скорее всего, включу раздел в конфигурацию своего виртуального хоста, просто чтобы быть в безопасности.

Это правильный способ сделать так, чтобы папка журнала была полностью запрещена?

2 ответа2

2

Самый простой способ - поместить это в .htaccess в каталоге log/:

deny from all

Поскольку вы хотите защитить весь каталог, вам не нужна директива <Files ...> , только строка запрета, которая блокирует все входящие в этот каталог. Однако Игнасио правильно сказал, что вам это вообще не нужно, потому что каталог log/ находится вне того, что обслуживает Apache.

1

Две вещи:

  1. Пути в <Directory> должны быть абсолютными.
  2. Переход к каталогу над корнем документа обрабатывается веб-сервером и вообще запрещен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .