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

Используйте .htaccess, чтобы заблокировать доступ * All * к определенным папкам

Я не знаю, как это сделать, но хочу заблокировать любой доступ к определенному набору папок на моем веб-сервере. Скажите secret01 и secret 02 ...

homeDir
  |- data
  |- www
  |   |- .htaccess (file)
  |   |- images
  |   |- js
  |   |- secret01
  |   |- secret02
  |   |...
  |...

Какие правила мне нужно добавить в мой корневой файл .htaccess для этого? Я хочу, чтобы весь доступ из Интернета в эти папки был заблокирован, и точка. Единственный способ добраться до них - конец SFTP или SSH. Итак, какое правило я ищу? Я предпочтительно ищу однострочник, чтобы я мог добавить больше папок или переместить его на другой сайт в будущем. Я бы действительно предпочел, чтобы правило можно было поместить в корневой файл .htaccess, чтобы мне не приходилось прыгать повсюду, чтобы заблокировать и разблокировать папки.

= Обновление для ясности =

У меня нет доступа к файлу conf для этого хоста (он находится в общей среде), и мне нужны эти папки внутри веб-корневого каталога для некоторых целей оболочки. Если бы я мог, я бы уже переместил их из корневого каталога.

Я также не хочу связываться с разрешениями на файлы, просто поставьте правило в моем .htaccess который блокирует доступ веб-трафика к папке или набору папок.

Вы можете просто создать .htaccess с помощью

DENY FROM ALL

для папок (поместите файл в те).

Также с mod_rewrite на www / .htaccess:

RewriteEngine On
RewriteRule ^(secret1|secret2|asdf) - [F,L]

Если вы действительно не хотите, чтобы они были доступны для Интернета через HTTP, вам следует полностью переместить их за пределы веб-дерева.

Вы также можете использовать разрешения файловой системы. Например, если Apache работает как apache пользователя, но вы хотите, чтобы файлы были доступны только через SSH user23 у вас может быть секрет *, принадлежащий user2 и не общедоступно. Конечно, здесь есть почти бесконечные дополнительные возможности. Группы, списки ACL файловой системы и многое другое.

Для ACL вы можете использовать mod_authz. Лучше сохранить конфигурацию в конфиге, а не в .htaccess. Имея их в .htaccess вводит большую открытость и возможность манипуляции с меньшими привилегиями.

документация mod_authz