Запретить доступ к определенным файлам и подкаталогам с помощью .htaccess - PullRequest
0 голосов
/ 24 апреля 2019

Мне нужно защитить несколько файлов, типов файлов и подкаталогов от публичного доступа через HTTP-сервер Apache.Некоторые из этих каталогов могут еще не существовать, но будут созданы позже с помощью сценариев.Поэтому распространение отдельных файлов .htaccess в каждом заблокированном подкаталоге не вариант.

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

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

Я знаю директиву Require all denied, но ищу способ расширить ее до желаемых типов файлов и подкаталогов (и, возможно, определенных файлов).в подкаталогах).Подумайте о синтаксисе .gitignore, который позволяет мне указывать шаблоны путей, которые следует игнорировать.Мне бы хотелось, чтобы такой список шаблонов путей был запрещен для клиентов.

Пример:

  • data /
    • logs / (полностью блокировать)
      • file1.txt
      • file2.txt
    • news / (не блокировать)
    • auth.db (блокировать *.db)

Я ищу файл .htaccess для размещения в каталоге данных (может быть также в его родительском, корне веб-пространства, если это проще;уже существует), который блокирует указанные подкаталоги и файлы.Как это будет работать?Многие из используемых директив Apache config не поддерживаются в файлах .htaccess, а другие, похоже, не поддерживают подкаталоги.Похоже, что Apache удостоверился, что я не могу легко использовать файл централизованного контроля доступа в веб-пространстве.

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

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