Для ограничения доступа к сайту по IP адресу посетителя необходимо в корневой каталог хоста добавить файл .htaccess со следующими инструкциями:
Order Allow,Deny Allow from All Deny from X.X.X.X
где X.X.X.X — IP адрес посетителя.
Первой строкой задаётся порядок обработки инструкций разрешения доступа (Allow) и запрета доступа (Deny). После этого, при обработке инструкций вебсервером, доступ сначала разрешается всем посетителям, а потом запрещается посетителю с указанным IP.
Другим способом решения задачи ограничения доступа к сайту является предоставление доступа только предварительно зарегистрированным посетителям. В данном случае администратору сайта будет необходимо создавать «аккаунты» посетителей (имя пользователя и пароль), которым разрешено заходить на сайт, и сообщать им детали доступа.
Сделать это можно следующим образом. Сначала в файл .htaccess, расположенный в корневой директории хоста, добавляется инструкция:
AuthName "Off limits to unauthorized visitors" AuthType Basic AuthUserFile /var/www/html/domains/mydomain.com/.htpasswd require valid-user
Разберём каждую строчку.
AuthName — предупреждение, которое будут получать пользователи до прохождения процедуры авторизации на сайте.
AuthType — тип авторизации. Обычно достаточно типа Basic.
AuthUserFile — полный путь к файлу (от /), в котором будут храниться имена пользователей и пароли (пароли – в зашифрованном виде). Данный файл принято называть .htpasswd, но использование этого имени совсем необязательно.
reqire valid-user — данная инструкция разрешает доступ тем посетителям, которые верно указали свои имя и пароль.
После этого создаём сам файл .htpasswd (ключ –c в команде ниже) и сразу же добавляем пользователя (например, 1user1).
htpasswd -c .htpasswd 1user1
Далее утилита htpasswd попросит указать и подтвердить пароль для нового пользователя. На этом создание файла .htpasswd и добавление в него первого пользователя заканчивается. Для добавления новых пользователей достаточно выполнить следующую команду:
htpasswd .htpasswd 2user2