Пароль защищает мой сайт
Недавно я создал новый экземпляр Amazon EC2 с использованием Amazon Linux AMI. Каков наилучший способ заставить пользователя получить доступ к домену для ввода имени пользователя/пароля, прежде чем разрешить доступ к сайту?
В настоящее время я использую apache http server и вижу некоторые ресурсы, указывающие, что мне нужно использовать файл .htaccess, но искал более краткое объяснение.
Ответы
Ответ 1
Если все, что вы ищете, это управление доступом на уровне сервера (т.е. никаких изменений в вашем приложении), вы можете использовать базовую аутентификацию. Это реализовано на уровне веб-сервера Apache, и при необходимости можно управлять каталогом по каталогу, используя файлы .htaccess.
Вот ссылка на документацию Apache
http://httpd.apache.org/docs/2.2/howto/auth.html
Вот простой пример того, как реализовать
http://doc.norang.ca/apache-basic-auth.html
Ответ 2
Защита паролем сайта через Htaccess
-
Создайте файл .htaccess со следующим в папке с защитой:
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /var/www/admin/.htpasswd
Require valid-user
-
Создайте файл .htpasswd
в той же самой или предпочтительно в папке, находящейся вне /var/www
.
Для демонстрации я использовал фиктивный путь выше. Файл .htpasswd должен содержать вашу соль для пароля
используйте этот генератор, чтобы создать ваш файл .htpasswd
.
-
Предполагая, что вы используете ubuntu, вам необходимо включить htaccess override через этот файл: /etc/apache2/sites-available/default
Измените "AllowOverride None" на "AllowOverride All" в:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Примечание: вам может потребоваться изменить в ssh через командную строку: sudo nano /etc/apache2/sites-available/default
-
sudo /etc/init.d/apache2 reload
Ответ 3
Вам необходимо сгенерировать пароль имя пользователя + пароль для аутентификации и записать его в файл.
- Вы можете использовать HTTP-генератор паролей для этого.
- Скопируйте полученную вами строку в новый файл (.htpasswd) в любом месте вне вашего Webroot (лучше держать где-либо внутри домашнего каталога пользователя).
- Добавьте следующие строки в ваш .htaccess файл.
AuthType Basic
AuthName "Require Authentication"
AuthUserFile [PATH_TO_FILE]/.htpasswd
Require valid-user
-
Если пароль не запускается, проверьте разрешение файла .htaccess.
-
Если аутотерапия не удалась, проверьте наличие файла .htpasswd в указанном месте. (Убедитесь, что ваша учетная запись пользователя имеет достаточно привилегий для чтения файла .htpasswd)
-
Для этого вам не нужно перезапускать сервер.
Надеюсь, что это поможет.
Ответ 4
gnerate зашифрованный пароль и добавьте в файл .htpasswd
$ htpasswd -nbm username Password
.htaccess запись файла
AuthType Basic
AuthName "My Protected Area"
AuthUserFile /absolute/path/to/password/file
Require valid-user
Подробнее об этом читайте в блоге - iCodefy