A free and open-source book on ZF3 for beginners


2.9. Аутентификация HTTP

Возможно, вы захотите разрешить доступ к вашему сайту только определенным пользователям. Например, когда вы показываете ваш сайт своему начальнику, вы дадите ему логин и пароль для входа на сайт.

Чтобы разрешить доступ к вашему сайту по логину и паролю, вы можете изменить файл виртуального хоста, добавив в него следующие строки:

AuthType Basic
AuthName "Authentication Required"
AuthUserFile /usr/local/apache/passwd/passwords
Require valid-user

Строка 1 определяет метод аутентификации. Самый распространенный из них - Basic. Важно, однако, помнить, что базовая аутентификация посылает пароль от клиента к серверу незашифрованным. Поэтому этот метод не следует использовать для уязвимых данных. Apache поддерживает еще один метод аутентификации: AuthType Digest. Этот метод гораздо более безопасный. Большинство новых браузеров поддерживают этот метод.

Строка 2 определяет текст, который будет отображен при попытке пользователя залогиниться.

Строка 3 определяет файл, где будут храниться пароли. Этот файл нужно создавать утилитой htpasswd.

Строка 4 позволит залогиниться всем, кто корректно ввел пароль.

Чтобы создать файл passwords, введите следующую команду:

htpasswd -c /usr/local/apache/passwd/passwords <username>

В этой команде вы должны заменить плейсхолдер <username> на логин. Вы можете выбрать временный логин, например "admin". Команда потребует пароль и затем запишет его в файл:

# htpasswd -c /usr/local/apache/passwd/passwords <username>
New password: 
Re-type new password: 
Adding password for user <username>

Когда пользователь попытается зайти на сайт, он увидит диалоговое окно с HTTP-аутентификацей. Чтобы зайти на ваш сайт, посетителю необходимо будет ввести корректные логин и пароль.

Дополнительную информацию о HTTP-аутентификации вы можете найти в разделе документации Apache Аутентификация и авторизация


Top