Заборонити перехід до "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