Заборонити перехід до "Parent Directory" з певної директорії?
Так, у Apache можна заборонити перехід до "Parent Directory" (тобто вгору по структурі каталогів) стандартними засобами, якщо правильно обмежити доступ лише до певної директорії.
Як це зробити
Приклад: дозволити доступ тільки до /var/www/html/somedir
, але не вище
Заборони індексацію в корені
DocumentRoot
: В/etc/apache2/apache2.conf
або в000-default.conf
додай або зміни:
<Directory /var/www/html>
Options -Indexes
AllowOverride None
Require all denied
</Directory>
Дозволь індексацію тільки для
somedir
:
<Directory /var/www/html/somedir>
Options +Indexes
AllowOverride None
Require all granted
</Directory>
Перезапусти Apache:
systemctl restart apache2
Результат:
Якщо користувач зайде на
http://<ip>/somedir/
, він побачить список файлів.Якщо він спробує перейти на
http://<ip>/
, отримає 403 Forbidden.Кнопка "Parent Directory" більше не працюватиме, бо перехід заборонений.
Зауваження:
Це працює тільки для перегляду через Apache (
Indexes
).Якщо хтось знає пряме посилання вище по дереву і доступ не обмежений — файл може бути доступним. Тому важливо обмежити доступ через
Require all denied
.
Якщо ти хочеш налаштувати це більш точно або вибірково — можу допомогти з конфігурацією.
Last updated