Читая заголовок поста, вы могли подумать, а разве директория wp-admin не защищена изначально? Ведь для начала нужно авторизоваться в WordPress, чтобы попасть внутрь. С одной стороны это так, но ведь никто не отменял взломы и атаки на сайт. Да и лишняя прослойка в безопасности не помешает. К примеру, популярные сайты вроде Mashable защищают дополнительно свои внутренние директории. В этом руководстве я покажу вам, как защитить паролем доступ к папке wp-admin в WordPress.

cPanel

Для начала я приведу инструкцию по установке пароля через cPanel. Почему именно cPanel? Потому что это одна из самых популярных панелей управления хостингом в мире.

Войдите в вашу панель cPanel (вы можете зайти в демо-версию панели здесь), и нажмите на иконку Password Protect Directories в секции Security.

Как только вы нажмете, появится всплывающее окно с выбором размещения корневой директории, просто нажмите Go (выбрано по умолчанию Web Root).

Затем перейдите к вашей папке wp-admin, жмите на изображение папки, чтобы попасть во внутренний каталог. После выбора папки wp-admin вы увидите:

Просто отметьте галочкой поле Password protect, затем создайте нового пользователя для доступа к директории, указав имя и пароль. Вот и все! Теперь при попытке войти в каталог wp-admin вы увидите окно авторизации:

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

Для начала создайте файл .htpasswds. Вы можете это легко сделать, воспользовавшись этим генератором. Затем загрузите этот файл на один уровень выше от директории /public_html/. У вас должен получиться примерно вот такой путь:

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

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

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

Вам нужно будет вписать в код свой username. И не забудьте указать правильный путь для AuthUserFile.

Если вы видите ошибку 404 или другие ошибки

Такое может случаться в зависимости от того, как настроен ваш сервер. Можно попытаться исправить это следующим образом. Откройте ваш основной файл .htaccess в WordPress и добавьте туда следующий код перед началом описания WordPress-правил (WordPress rules):

ErrorDocument 401 default

Это должно помочь. Теперь у вас двойная защита для Консоли и всей остальной зоны wp-admin. Это неплохая альтернатива другому способу, который мы описывали в уроке "Как ограничить число попыток входа в консоль WordPress".

Обновление: Как исправить неработающую Ajax функциональность

Если вы защитите паролем вашу wp-admin директорию, это может сломать Ajax функциональность во front-end (если таковой используется). Это можно легко исправить.

Откройте файл .htaccess, который находится в каталоге /wp-admin/ (это не основной файл .htaccess, о котором я только что говорил) и добавьте в него следующий код:

<Files admin-ajax.php>
    Order allow,deny
    Allow from all
    Satisfy any 
</Files>
Источник: WPBeginner.com

Вам понравился материал?

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

2 комментария

сначала новые
по рейтингу сначала новые по хронологии
Вячеслав

Не очень удобно. У меня есть пользователи, которым нужен доступ в админку - им придется дважды вводить пароль.

Еще можно разрешить доступ с определенного ip

Файл .htaccess должен содержать
___________________
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
allow from yyy.yyy.yyy.yyy
___________________
В какой директории лежит - на ту и распространяется