Подтвердить что ты не робот

Пароль защищает мой сайт

Недавно я создал новый экземпляр Amazon EC2 с использованием Amazon Linux AMI. Каков наилучший способ заставить пользователя получить доступ к домену для ввода имени пользователя/пароля, прежде чем разрешить доступ к сайту?

В настоящее время я использую apache http server и вижу некоторые ресурсы, указывающие, что мне нужно использовать файл .htaccess, но искал более краткое объяснение.

4b9b3361

Ответ 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

  1. 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)

  • Для этого вам не нужно перезапускать сервер.

Надеюсь, что это поможет.