Созонов Алексей

Веб-разработчик

Ставим пароль на сайт или папку с помощью htaccess

09.08.2015

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

В директории, к которой мы хотим запретить доступ (или в корневом каталоге сайта, если мы закрываем весь сайт), добавим в файл .htaccess (если он не существует, то создайте его):

AuthName "произвольный_текст_который_будет_появляется_в_окне"
AuthType Basic  
Require valid-user
AuthUserFile "полный_путь_к _файлу_.htpasswd" // Пример     /home/my_site/.htpasswds/.htpasswd

Чтобы сгенерировать .htpasswd файл, пишем в командной строке

htpasswd -bc .htpasswd имя_пользователя пароль_пользователя 

Теперь при попытке обращения к сайту или каталогу, появится окно с просьбой ввести логин и пароль для входа.

Для nginx

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ =404;
        auth_basic "Restricted Content";
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}
#Linux‏‎