Читаючи заголовок посту, ви могли подумати, а хіба директорія wp-admin не захищена спочатку? Адже спочатку потрібно авторизуватися в WordPress, щоб потрапити всередину. З одного боку це так, але ж ніхто не скасовував зломи та атаки на сайт. Та й зайвий прошарок у безпеці не завадить. Наприклад, популярні сайти на кшталт Mashable захищають додатково свої внутрішні директорії. У цьому посібнику я покажу вам, як захистити паролем доступ до папки wp-admin у WordPress.
cPanel
Для початку я наведу інструкцію щодо встановлення пароля через cPanel. Чому саме cPanel? Тому що це одна з найпопулярніших панелей керування хостингом у світі.
Увійдіть у вашу панель cPanel (Ви можете зайти в демо-версію панелі тут), та натисніть на іконку Каталоги захисту паролем у секції Безпека.

Як тільки ви натиснете, з'явиться спливаюче вікно з вибором розміщення кореневої директорії, просто натисніть Go (вибрано за замовчуванням Веб-корінь).

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

Просто позначте галочкою поле Захист паролем, потім створіть нового користувача для доступу до директорії, вказавши ім'я и пароль. От і все! Тепер при спробі увійти до каталогу 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
Вам потрібно буде вписати в свій код ім'я користувача. І не забудьте вказати правильний шлях для AuthUserFile.
Якщо ви бачите помилку 404 або інші помилки
Таке може бути залежно від того, як налаштований ваш сервер. Можна спробувати виправити це в такий спосіб. Відкрийте ваш основний файл .htaccess до WordPress і додайте туди наступний код перед початком опису WordPress-правил (WordPress rules):
ErrorDocument 401 default
Це повинно допомогти. Тепер у вас подвійний захист для Консолі і решти всієї зони wp-admin. Це непогана альтернатива іншому способу, який ми описували в уроці.Як обмежити кількість спроб входу в консоль WordPress".
Оновлення: Як виправити непрацюючу Ajax функціональність
Якщо ви захистите паролем вашу wp-admin директорію, це може зламати Ajax функціональність у інтерфейсних (якщо такий використовується). Це можна легко виправити.
Відкрийте файл .htaccess, що знаходиться в каталозі /wp-admin/ (це НЕ основний файл .htaccess, про який я щойно говорив) і додайте до нього наступний код:
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>




















Коментарі до запису: 2
Ще можна дозволити доступ з певного IP
Файл .htaccess має містити
___________________
замовити заперечувати, дозволяють
відмовити від усіх
allow from xxx.xxx.xxx.xxx
allow from yyy.yyy.yyy.yyy
___________________
У якій директорії лежить — на ту й поширюється
Не дуже зручно. У мене є користувачі, яким потрібний доступ до адмінки — їм доведеться двічі вводити пароль.