Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Запрет вывода содержимого каталога через HTTP на Apache


Рекомендуемые сообщения

Как можно запретить вывод содержимого каталога через HTTP на Apache?

P.S. Если вопрос уже был задан, прошу сильно ногами не бить - в поиске был.

Ссылка на комментарий
Поделиться на другие сайты

Как можно запретить вывод содержимого каталога через HTTP на Apache?

P.S. Если вопрос уже был задан, прошу сильно ногами не бить - в поиске был.

Создай в нужном каталоге (или в корне) файл .htaccess со следующим содержимым:

Options -Indexes

DirectoryIndex index.html

Теперь, если в броузере указать путь к этому каталогу без конкретного имени файла, то получишь отказ в доступе Forbidden.

В этом примере индексным файлом считается index.html, естественно ты можешь сюда вписать тот, что тебе нужен. То есть если в данном каталоге есть index.html, то он будет запускаться просто по имени каталога, в котором он содержится без конкретного упоминания имени "index.html"

Если необходимо ограничить доступ к каталогу по пользователям или по адресам, то нужно в .htaccess сделать так:

Запрет для всех:

Order Deny,Allow

Deny from all

Разрешение на доступ для определенных адресов:

Order Deny,Allow

Deny from all

Allow from 192.168.1.1

Allow from ......

Изменено пользователем Kobi
Ссылка на комментарий
Поделиться на другие сайты

Kobi: У меня сайт на PHP - движке, sPaiZ-Nuke. Я вписал 2 строчки в .htaccess, и при обращении к непустой папке без index - файла перекидывает на движок и его сообщение о том, что сервер не может ответить.

Ссылка на комментарий
Поделиться на другие сайты

Многие делают так:

Например нужно запретить просмотр каталога ./images

Для этого в этом каталоге создают файл .htaccess с содержимым:

Options -Indexes

DirectoryIndex index.html

В этой же папке создают этот самый index.html но либо пустой, либо (что лучше всего) точную копию стандартной странички с Forbidden.

Например:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>403 Forbidden</title>

</head><body>

<h1>Forbidden</h1>

<p>You don't have permission to access /images/

on this server.</p>

<hr />

<address>Apache/1.3.37 Server at www.x-logers.net Port 80</address>

</body></html>

Изменено пользователем Kobi
Ссылка на комментарий
Поделиться на другие сайты

Kobi: А мне нужно скрыть от посторонных глаз все каталоги, в которых нет index - файла...

Ну так в чём проблема то? Скопируй эти два файла в каждую папку, которую необходимо "защитить".

Ссылка на комментарий
Поделиться на другие сайты

А чтобы каждый раз не править этот index.html, можно сделать так:

В .htaccess прописать:

Options -Indexes

DirectoryIndex index.php

А в файле index.php прописать:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head>

<title>403 Forbidden</title>

</head><body>

<h1>Forbidden</h1>

<p>You don't have permission to access <?php print dirname($_SERVER['REDIRECT_URL']) ?> on this server.</p>

<hr />

<address><?php print $_SERVER['SERVER_SIGNATURE'] ?></address>

</body></html>

Тогда эти два файла можно простым копированием поместить в каждую папку, скрипт же сам определит нужные параметры для этой страницы.

Изменено пользователем Kobi
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...