Главная   Новости   Поиск   
Азбука программиста




Яндекс.Метрика

Запрещаем просмотр содержимого папки

Запрещаем просмотр содержимого папки

Интернет сервер Apache имеет несколько директив (находятся в файле httpd.conf), которые определяют, что будет показано, когда гость входит в какую-то папку.

Все про Анастасию Квитко есть тут girl-zone.ru

Сначала, это: DirectoryIndex

Она определяет, какой файл будет выслан клиенту, если он не указал его имя очевидно. В параметрах этой директивы перечисляются названия файлов. К примеру:

DirectoryIndex index.php index.html index.htm

Ценность имеет тот файл, который идет первым в перечне. Т.е. если папка содержит index.php и index.html, то гостю будет выслан index.php. Допустим, веб-сайт имеет такую структуру.

/
index.html
page1.html
page2.html
css/ styles.css

По адресу http://sitename/ вы увидите страничку index.html. Но если зайти в папку css (http://sitename/css), то картина будет несколько другая. Сервер покажет вам перечень файлов в этой папке. Не думаю, что кому-то понравится такое поведение сервера.

Поправить ситуацию можно при помощи директивы:

Options -Indexes

Примечание: знак "-" перед словом Indexes значит, что индексирование содержимого папок запрещено.

Теперь, если вы попытаетесь зайти в папку css, то увидите сообщение:

Forbidden
You don't have permission to access /css/ on this server.

Не пугайтесь и не бейте битой по манитору. Это сообщение говорит о том, что у вас нет прав для доступа к /css/ на этом сервере. При всем этом доступ к файлу styles.css (http://sitename/css/styles.css) сохраняется.

Если вы не сможете изменять Apache (к примеру, веб-сайт находится на shared хостинге), то сделайте в корне веб-сайта файл .htaccess с этой директивой. В данном случае индексирование будет запрещено не только лишь для корневой папки, да и для всех вложенных папок (если, естественно, они не содержат собственных файлов .htaccess).

Правда, этот способ может не работать. Дело в том, что обработка файлов .htaccess может быть запрещена директивой AllowOverride none (в файле httpd.conf).

В данном случае вам нужен или доступ к httpd.conf, или придется в каждой папке располагать файлы index.html с каким-либо текстом (что-то вроде Access forbidden). Разработчики фреймворка CodeIgniter конкретно так и поступают (в каждой вложенной в system папке находится index.html).

Стоит помнить о том, что для вступления изменений в конфигурации в httpd.conf  в силу необходимо перезапустить сервер. Конфигурации в .htaccess начинают работать сразу после сохранения файла.



Безопасность

В этой статье приводятся методы борьбы с вирусами. Опишем типовую ситуацию, которая знакома многим пользователям ПК: установлен новый антивирус, раз в день обновляются базы, все подозрительные файлы сразу удаляются. В один ясный, солнечный день вы приходите к другу и чтобы показать новые фотки, подключаете свою флешку к его компу. Но антивирус начинает вам говорить, сколько вирусов он отыскал на вашей флешке...

Читать далее