Ограничение доступа при помощи .htaccess

Автор: Topol Понедельник, Апрель 16th, 2012 Нет комментариев

Рубрика: Сайтостроение

Как запретить веб-посетителям читать файлы в директории?
Запрет на все файлы:
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 *.*>

Источник: webcorp.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты