Назад | Перейти на главную страницу

Запретить переопределение списков доступа в .htaccess (AllowOverride на основе черного списка)

У нас есть некоторое веб-программное обеспечение с собственным .htaccess. Нет, на наших внутренних тестовых серверах мы хотим настроить некоторые права доступа (пароли htaccess)

Мы хотим избежать модификаций, специфичных для тестового сервера в .htaccess.

Мы делаем это в конфигурации vhost Apache 2.

.htaccess содержит:

Order allow,deny
Allow from all

Как мы можем заблокировать эти настройки? Есть ли способ на основе черного списка AllowOverride директива? Что-то вроде DontAllowOverride Order Allow ?

Что ж, есть отличная документация доступен для всех.

AllowOverride Limit

бы позволять Order/Deny/Allow инструкции.

AllowOverride AuthConfig, FileInfo, Indexes

Позволит все, кроме Order/Deny/Allow инструкции ', а также любые Options поскольку они должны быть перечислены.

Но, как заявил @jeffatrackaid, определенно было бы лучше AllowOverride Nonoe.

Вы получите большую скорость от Apache и поместите все необходимые конфигурации в разделы Virtualhosts / Directory / Locations. .htaccess файлы не имеют ничего общего с .htpassword безопасность.

Я почти уверен, что конфигурации каталогов vhost обрабатываются после файлов htaccess. Таким образом, в этом случае вы не можете ограничивать пользователей, поскольку файл htaccess разрешит их всех.

Вы можете изучить:

  1. блокировка htaccess для каждого каталога.
  2. Проверка аргументов Требовать и Удовлетворять. Если вы добавите защиту паролем в свою конфигурацию vhost, вы можете использовать аргумент Satisfy, чтобы потребовать, чтобы пользователь соответствовал критериям htaccess и паролю.

Конечно тест.

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

Для некоторых клиентов, когда мы не можем полностью удалить htaccess, мы часто устанавливаем, что файл htaccess должен принадлежать пользователю уровня администратора и chmod 644. Это не позволяет обычным веб-мастерам изменять файл.