Защита сайта с помощью .htaccess и .htpasswd
Одним из способов защиты является установка пароля на сервер для дост��па к файлу wp-login.php.
Как это работает
Когда вы пытаетесь зайти на страницу wp-login.php, появляется дополнительное окно, где нужно будет ввести пароль. Если пароль введен правильно, сервер пропускает вас к файлу, и вы сможете войти в WordPress, как обычно.

Шаги по настройке защиты
Шаг 1: Создание файла .htpasswd
В корне вашего сайта создайте файл, в который запишите логины и пароли для доступа. Вы можете указать несколько пользователей:
kama:$apr1$Q9Gnetdv$pZyL9sGbN3ynC4k2oAZaQ.
andreas:$apr1$dHjB0/..$mkTTbqwpK/0h/rz4ZeN8M0
john:$apr1$IHaD0/..$N9ne/Bqnh8.MyOtvKU56j1
Количество пользователей не ограничено. Для генерации таких строк можете использовать специальные сервисы.
Шаг 2: Подключение файла .htpasswd
Откройте файл .htaccess, который должен находиться рядом с только что созданным файлом .htpasswd, и добавьте следующий код:
AuthName "Access Denied"
AuthType Basic
AuthUserFile /home/www/example.com/.htpasswd
require valid-user
Не забудьте изменить путь к файлу на /home/www/example.com.
Теперь попробуйте войти в WordPress. Вы увидите дополнительное окно для ввода логина и пароля. Эта защита предотвратит атаки методом перебора пароля.
Защита с помощью Nginx
Вы также можете настроить защиту на уровне Nginx. Для этого добавьте следующие директивы в файл конфигурации вашего домена:
auth_basic string | off;auth_basic_user_file file;
Пример использования директив:
server {
listen 443 ssl http2;
server_name example.com;
# другие директивы...
location / {
auth_basic "Restricted Access!";
auth_basic_user_file /etc/nginx/htpasswd_example.com;
index index.php;
try_files $uri $uri/ /index.php?$args;
}
# другие директивы...
}
Теперь в файле /etc/nginx/htpasswd_example.com необходимо указать пароли. Формат файла следующий:
# комментарий
name1:password1
name2:password2:комментарий
kama:$wet1$F4HT89kL$f0gEMNpFKZNH4VggDMYTm0
Этот пример защитит ваш сайт паролем для всех запросов (за исключением статических файлов).
Таким образом, настройка пароля для доступа к странице входа в WordPress является эффективным способом повысить безопасность вашего сайта.