Как запретить веб-посетителям читать файлы в директории? Запрет на все
файлы: deny from all Где all обозначает "все".
Разрешить доступ
только с определенного ip: order allow deny deny from all allow from
ip_адрес В данном случае, ip_адрес обозначает конкретный адрес, например:
order allow deny deny from all allow from
192.126.12.199
Запретить доступ для определенного ip order allow
deny deny from all deny from ip_адрес Использование ip_адрес
аналогично для примера выше.
Запрет доступа на группу файлов по
маске: <Files "\.(inc|sql|...другие расширения...)$"> order
allow,deny deny from all </Files> Определяет доступ к файлу по
его расширению. Например запрет на доступ к файлам с расширениям "inc" для
веб-посетителей: <Files "\.(inc)$"> order allow,deny deny from
all </Files> В данном примере сам веб-сервер Апач может обращаться к
файлам с таким расширениям, в отличие от посетителей сайта.
Запрет
доступа на конкретный файл: Можно поставить запрет на конкретный файл по его
названию и расширению. <Files config.inc.php> order
allow,deny deny from all </Files> В данном примере стоит запрет
на обращения к файлу config.inc.php посетителями сайта, сам же сервер может
использовать этот файл.
Пароль на директорию: AuthName "Private
zone" AuthType Basic AuthUserFile
/pub/home/твой_логин/.htpasswd require valid-user Значение AuthName будет
выводиться для посетителя и может использоваться для пояснения запроса
авторизации. Значение AuthUserFile указывает на место, где хранится файл с
паролями для доступа к данной директории. Этот файл создается специальной
утилитой htpasswd.exe. Например в директории, которую защищаем паролем
создаем такой .htaccess: AuthName "For Registered Users Only" AuthType
Basic AuthUserFile /pub/site.ru/.htpasswd require valid-user В этом
примере, посетитель при запросе директории, будет читать фразу "For Registered
Users Only", файл с паролями для доступа должен лежать в директории
/pub/site.ru/ и называться .htapasswd . Директория указывается от корня сервера,
если вы неправильно зададите директорию, то Апач не сможет прочитать файл
.htpasswd и никто не получит доступа к данной директории.
Пароль только
на 1 файл: Аналогично паролированию директории полностью, можно ставить
пароль только на 1 файл. Пример установки пароля на файл private.zip:
<Files private.zip> AuthName "Users zone" AuthType
Basic AuthUserFile /home/аккаунт/.htpasswd </Files>
Пароль на группу файлов: Аналогично, используя <Files
"\.(inc|sql|...другие расширения...)$">, можно ставить пароли по маске
файлов. Пример установки пароля на доступ ко всем файла с расширением "sql":
<Files "\.(sql)$"> AuthName "Users zone" AuthType
Basic AuthUserFile /home/аккаунт/.htpasswd </Files>
Разделение прав доступа Задача: есть каталог GF1 и в нем два вложенных
каталога GF1_1, GF1_2, введено 2 уровня пользователей. 1 группа имеет доступ
только к GF1_1 и GF1_2, 2-я ко всем трем каталогам. Необходимо проводить
аутентификацию только 1 раз - при доступе к GF1_1, но при этом соблюдать права
на доступ к GF1_1 и GF1_2. Логин и пароль запрашиваются только при входе на GF1
- если у юзвера есть доступ на GF1_1 пароль уже не запрашивается. Если на GF1_2
доступа нет, вылетит табличка "введите пароль".
www.site.ru/GF1 www.site.ru/GF1/GF1_1 www.site.ru/GF1/GF1_2 GF1 -
общий и вместе с тем закрытый. GF1_1 и GF1_2 только для отдельных личностей.
файл .htaccess для каталога GF1: AuthName "Input password" AuthType
Basic AuthUserFile "/pub/home/login/htdocs/closearea/.htpasswd" <Files
*.*> require valid-user </Files> файл .htaccess для каталога
GF1_1: AuthName "Input password" AuthType Basic AuthUserFile
"/pub/home/login/htdocs/closearea/.htpasswd" <Files *.*> require
user login1 login2 login3 </Files *.*> файл .htaccess для каталога
GF1_2: AuthName "Input password" AuthType Basic AuthUserFile
"/pub/home/абв/htdocs/closearea/.htpasswd" <Files *.*> require user
login1 login3 login4 </Files *.*>