Заборонити перехід до "Parent Directory" з певної директорії?

Так, у Apache можна заборонити перехід до "Parent Directory" (тобто вгору по структурі каталогів) стандартними засобами, якщо правильно обмежити доступ лише до певної директорії.


Як це зробити

Приклад: дозволити доступ тільки до /var/www/html/somedir, але не вище

  1. Заборони індексацію в корені DocumentRoot: В /etc/apache2/apache2.conf або в 000-default.conf додай або зміни:

<Directory /var/www/html>
    Options -Indexes
    AllowOverride None
    Require all denied
</Directory>
  1. Дозволь індексацію тільки для somedir:

<Directory /var/www/html/somedir>
    Options +Indexes
    AllowOverride None
    Require all granted
</Directory>
  1. Перезапусти Apache:

systemctl restart apache2

Результат:

  • Якщо користувач зайде на http://<ip>/somedir/, він побачить список файлів.

  • Якщо він спробує перейти на http://<ip>/, отримає 403 Forbidden.

  • Кнопка "Parent Directory" більше не працюватиме, бо перехід заборонений.


Зауваження:

  • Це працює тільки для перегляду через Apache (Indexes).

  • Якщо хтось знає пряме посилання вище по дереву і доступ не обмежений — файл може бути доступним. Тому важливо обмежити доступ через Require all denied.


Якщо ти хочеш налаштувати це більш точно або вибірково — можу допомогти з конфігурацією.

Last updated