Nickman Posted October 7, 2006 Report Share Posted October 7, 2006 Как можно запретить вывод содержимого каталога через HTTP на Apache? P.S. Если вопрос уже был задан, прошу сильно ногами не бить - в поиске был. Link to comment Share on other sites More sharing options...
Kobi Posted October 7, 2006 Report Share Posted October 7, 2006 (edited) Как можно запретить вывод содержимого каталога через 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 ...... Edited October 7, 2006 by Kobi Link to comment Share on other sites More sharing options...
Nickman Posted October 7, 2006 Author Report Share Posted October 7, 2006 Kobi: У меня сайт на PHP - движке, sPaiZ-Nuke. Я вписал 2 строчки в .htaccess, и при обращении к непустой папке без index - файла перекидывает на движок и его сообщение о том, что сервер не может ответить. Link to comment Share on other sites More sharing options...
Kobi Posted October 7, 2006 Report Share Posted October 7, 2006 (edited) Многие делают так: Например нужно запретить просмотр каталога ./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> Edited October 7, 2006 by Kobi Link to comment Share on other sites More sharing options...
Nickman Posted October 7, 2006 Author Report Share Posted October 7, 2006 Kobi: А мне нужно скрыть от посторонных глаз все каталоги, в которых нет index - файла... Link to comment Share on other sites More sharing options...
Kobi Posted October 7, 2006 Report Share Posted October 7, 2006 Kobi: А мне нужно скрыть от посторонных глаз все каталоги, в которых нет index - файла... Ну так в чём проблема то? Скопируй эти два файла в каждую папку, которую необходимо "защитить". Link to comment Share on other sites More sharing options...
Kobi Posted October 7, 2006 Report Share Posted October 7, 2006 (edited) А чтобы каждый раз не править этот 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> Тогда эти два файла можно простым копированием поместить в каждую папку, скрипт же сам определит нужные параметры для этой страницы. Edited October 7, 2006 by Kobi Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now