Как защитить паролем папку wp-admin в WordPress

После прочтения заголовка, вы навернео задались вопросом, разве не защищена директория wp-admin паролем? Да, вам предлагают залогиниться. Все это верно, однако популярные сайты предпочитают навесить еще один «слой» безопасности в виде дополнительной аутентификации. Несколько дней назад появилась новость на ХабраХабре Распределённая атака на WordPress сайты об атаках на сайты на WordPress. В статье рекомендуют защитить паролем админ.папку. В этой статье мы расскажем, как пошагово усановить пароль на директорию wp-admin.

Чтобы все было легко и доступно, мы рассмотрим только хостинги с панелью управления cPanel, так как у cPanel довольно простой интерфейс для установки пароля на папки на сервере.

Залогиньтесь в вашу cPanel. Прокрутите до вкладки Безопасность (Security). Кликните на иконку “Password Protect Directories”.

Password Protect Directories

После клика появится модальное окно, в котором у вас запросят расположение папки. Кликлине на корень сервера. Когда окажетесь там, перейдите в папку, где установлен ваш WordPress. Затем кликните на папку /wp-admin/. Увидите что-то вроде этого:

Security Settings for a Folder

Отметьте соответствующую галочку «Password protect this directory». Затем создайте пользователя для папки. Вот и все. Теперь при попытке доступа к wp-admin вы будете видеть окошко запроса пароля:

Authentication Required

Ручной способ

Перво-наперво создайте файл .htpasswds. Также это можно сделать с помощью этого генератора. Загрузите этот файл вне вашего каталога /public_html/. К примеру, это может быть:

home/user/.htpasswds/public_html/wp-admin/passwd/

Затем создайте файл .htaccess и загрузите его в папку /wp-admin/. Добавьте туда следующие строки:

AuthName "Admins Only"
AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd
AuthGroupFile /dev/null
AuthType basic
require user putyourusernamehere

Здесь вам нужно указать имя пользователя вместо putyourusernamehere, а также обновить путь к файлу с паролем — AuthUserFile .

Если возникает ошибка 404 или Too many redirects

Такое может случиться в зависимости от того, как настроен ваш сервер. Для исправления ошибок, откройте ваш основной файл .htaccess (находящийся в корне установленного движка) и добавьте туда следующие директивы, перед директивами WordPress.
Well this can happen depending on how your server is configured. To fix this issue, open your main WordPress .htaccess file and add the following code there before the WordPress rules start.

ErrorDocument 401 default

Всё. Готово. Теперь у вас двухэтапная аутентификация в админ.панель сайта.

Примечание: Как исправить ошибку Admin Ajax

Если вы таким вот способом защитили админ.папку WordPress, он (способ) мог нарушить функциональную Ajax-часть сайта (если таковая использовалась).
В таком случае необходимо в файл .htaccess, расположеный в папке /wp-admin/ (НЕ тот файл, который мы редактировали выше), добавить следующий код:

<Files admin-ajax.php>
    Order allow,deny
    Allow from all
    Satisfy any 
</Files>
VN:F [1.9.22_1171]
Rating: 3.3/5 (3 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top