Использование .htaccess

.htaccess — (hypertext access) файл дополнительной конфигурации веб-сервера Apache и подобных ему серверов.
Чтобы файл обрабатывался сервером Apache, в конфигурационном файле для указанной директории должна стоять опция «AllowOverride All».

Приведу ниже пример некоторых параметров.
Запрет доступа на все файлы:

Require all denied

Разрешаем доступ всем:

Require all granted

Разрешить доступ с определенного ip (можно указывать несколько через пробел):

order deny allow
deny from all
allow from 192.168.5.5 192.168.4.1

Запретить доступ с определенного ip:

order allow deny
allow from all
deny from 192.168.5.5 192.168.4.1

Запрет доступа на конкретный файл:

<Files file.php>
order allow,deny
deny from all
</Files>

Разрешим доступ к файлу только локально и для указанных IP адресов:

<Files ixnfo.php>
Require local
Require ip 192.168.5.5 192.168.3.5
</Files>

Ограничение доступа по IP адресам ко всем файлам c именами начинающимся на «text…»:

<Files text*>
Require local
Require ip 192.168.5.5 192.168.3.5
# 192.168.5.5 comment
</Files>

Пароль на директорию:

AuthName "Hello"
AuthType Basic
AuthUserFile /home/user/.htpasswd
require valid-user

Пароль на 1 файл:

<Files file.php>
AuthName "Hello"
AuthType Basic
AuthUserFile /home/user/.htpasswd
</Files>

Пароль на группу файлов:

<Files "\.(cfg)$">
AuthName "Hello"
AuthType Basic
AuthUserFile /home/user/.htpasswd
</Files>

Если движок сайта отображает свою ошибку открытия страницы вместо запроса пароля, то добавим следующую строку в главный файл .htaccess:

ErrorDocument 401 default

Перенаправление на другой url:

Redirect / http://www.site.com

Генератор .htpasswd: www.htaccesstools.com/htpasswd-generator
Можно сгенерироать файл из командной строки системы используя утилиту htpasswd, в Ubuntu она устанавливается с apache2-utils командой:

sudo apt install apache2-utils

Смотрите также мою статью:
Контроль доступа Apache2

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

Добавить комментарий