Защита админ панели WordPress при помощи файла .htaccess

При помощи .htaccess можно установить http авторизацию или "двойную авторизазацию" для вашего сайта. Покажу на примере движка WordPress.

Вначале переходим сюда http://www.htaccesstools.com/htpasswd-generator/ и генерируем файл .htpasswd, указывая любые логин и пароль.

Генерируем файл .htpasswd

Сгенерированный файл помещаем в корень своего сайта.

Далее, в корневом файле .htaccess добавляем следующие строки:

AuthUserFile .htpasswd
AuthName "Private access"
AuthType Basic
<FilesMatch "wp-login.php">
Require valid-user
</FilesMatch>

Иногда, на некоторых хостинг провайдерах необходимо в первой строчке указывать полный путь до файла .htpasswd:

AuthUserFile /home/k/lucky/lucky-seo.com/public_html/.htpasswd

Чтобы узнать абсолютный путь от корня сервера нужно создать любой файл .php и вписать туда:

<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

и поместить в файл в корень, затем перейти на него.

Если все сделано правильно, то при переходе в админ панель сайта по адресу /wp-admin или /wp-login.php будет запрашиваться аутентификация:

Аутентификация

Запрет по IP

Также, при помощи .htaccess можно запретить доступ к админке wordpress по IP адресу.

Для того, чтобы сделать это, нужно в файл .htaccess, размещенном в корне, добавить специальный код:

<Files "wp-login.php">
    Order deny,allow
    Allow from All
    Deny from 00.00.00.00
</Files>

Где 00.00.00.00 - это IP адрес, которому вы хотите закрыть доступ к админке.

Но лучше закрыть доступ всем IP, кроме своего (если у вас постоянный IP), тогда код будет таким:

<Files "wp-login.php">
    Order deny,allow
    Deny from All
    Allow from 00.00.00.00
</Files>

Где вместо 00.00.00.00 - должен быть ваш IP адрес.

В случае, если вы хотите закрыть доступ всем, то нужно убрать строку Allow:

<Files "wp-login.php">
    Order deny,allow
    Deny from All
</Files>

Зачем это нужно?

Это самая простая и надежная защита от брутфорс атак на ваш сайт.

Если вы хотите защитить админ панель по максимуму, то дополнительно используйте плагин Сlearfy. Подробнее про плагин я писал в этом посте.

Теги:
Перелинковка ↓
  • Виталий Янчук

    о, вот это прелесть! прекрасный мануал, за что огромное спасибо! еще я нашел блог, как блокировать доступ к сайту https://shneider-host.ru/blog/blokirovka-dostupa-k-sai%CC%86tu-pri-pomoschi-htaccess.html, тоже хорошая инфа, можно слепить все вместе и попытаться что-то сделать)) автору спасибо!