Как проверить, что мой сайт на WordPress открывает посторонним?
Автор: Eureka Studio · Обновлено
Коротко
Проверьте сайт снаружи реальными запросами, не входя в систему: откройте /wp-login.php, /xmlrpc.php, /wp-json/wp/v2/users, /?author=1 и /wp-sitemap-users-1.xml. Каждый из них покажет, открыта ли дверь для входа и утекает ли имя пользователя. Запросы можно выполнить в браузере или через curl — или поручить их плагину-сканеру, который назовёт всё найденное.
Шаги
1Шаг 1
Откройте приватное окно или терминал
Проверяйте как посторонний, а не как вы сами. Вошедший пользователь видит больше, чем публика, поэтому всегда проверяйте, выйдя из системы.
Пять запросов, которые сделал бы бот curl -sI https://yoursite.com/wp-login.phpcurl -s https://yoursite.com/xmlrpc.phpcurl -s https://yoursite.com/wp-json/wp/v2/userscurl -sI https://yoursite.com/?author=1curl -sI https://yoursite.com/wp-sitemap-users-1.xml2Шаг 2
Проверьте двери для входа
Если wp-login.php показывает форму входа, стандартный вход открыт для всех. Если xmlrpc.php отвечает «accepts POST requests only», открыта и вторая дверь для входа.
3Шаг 3
Проверьте утечки имён пользователей
JSON-список из /wp/v2/users, перенаправление с ?author=1 на /author/name/ или карта сайта с пользователями — всё это раскрывает логины.
4Шаг 4
Запустите «Сканирование поверхности», чтобы увидеть полную картину
В Hushfort откройте «Обзор» и нажмите «Сканировать снова» под «Сканированием поверхности». Оно отправляет вашему сайту реальные запросы и называет каждое найденное имя пользователя.

5Шаг 5
Закройте найденное и просканируйте снова
Включите «Укрепление поверхности» и нажмите «Сканировать снова». Двери, которые были красными, теперь отмечены зелёной галочкой; всё оставшееся помечено «Внимание» с подсказкой, как исправить.

Почему это важно
Проверить безопасность сайта на WordPress проще всего снаружи, как это делает бот: не входя в систему, откройте /wp-login.php, /xmlrpc.php, /wp-json/wp/v2/users, /?author=1 и /wp-sitemap-users-1.xml. Ответы покажут, какие двери для входа открыты и утекают ли имена пользователей.
Большинство советов по безопасности — про переключатели: включите это, отключите то. Но переключатель говорит о том, что вы попросили, а не о том, что произошло. Слой кэширования может отдавать старый ответ. Правило CDN может блокировать файл ещё до того, как WordPress увидит запрос. Один плагин может снова открыть то, что закрыл другой. Единственный честный ответ на вопрос «что открывает мой сайт?» — спросить его так, как спросил бы посторонний.
Хорошая новость: со стороны входа проверять нужно немногое. Боты ищут одни и те же несколько адресов на каждом сайте WordPress:
| Адрес | Что раскрывает, если открыт |
|---|---|
/wp-login.php, /wp-admin |
Стандартную форму входа |
/xmlrpc.php |
Вторую дверь для входа с массовым подбором через system.multicall |
/wp-json/wp/v2/users |
Список авторов и их логинов (ярлыков) |
/?author=1 |
Перенаправление на /author/login-name/ |
/wp-sitemap-users-1.xml |
Адреса архивов авторов, содержащие логины |
Ни один из этих пунктов сам по себе не катастрофа. Но вместе они дают боту список имён и две двери, чтобы их опробовать. Зная, что открыто, вы закроете всё в правильном порядке: сначала двери, потом имена.
Частые ошибки
- Проверка из-под своей учётной записи. WordPress показывает вошедшим пользователям больше.
Используйте приватное окно или
curl. - Проверка кэшированной страницы. Если вы только что изменили настройку, сначала очистите кэш страниц и кэш CDN, иначе увидите старый ответ.
- Остановка на первом зелёном сигнале. Закрыть форму входа и оставить открытым XML-RPC — самое частое полурешение, которое мы встречаем.
- Ожидание полного аудита безопасности. Эти проверки касаются путей внутрь. Они ничего не говорят о вредоносном коде, изменениях файлов или устаревших плагинах.
Без плагина
Пять команд curl из шага 1 — это ручной способ, и его стоит знать. Читайте результаты так:
HTTP/2 200наwp-login.php: стандартный вход открыт для всех.404: он скрыт.XML-RPC server accepts POST requests only.отxmlrpc.php: точка доступа работает. Чтобы узнать, принимается ли вход, пришлось бы отправить вызовwp.getUsersBlogsс тестовой учётной записью.- JSON-массив из
/wp/v2/usersс полями"slug": имена пользователей открыты.401или пустой массив: закрыто. Location: /author/name/от?author=1: утечка. Повторите с 2, 3 и так далее, чтобы понять, сколько пользователей может собрать бот.200на карте сайта с пользователями: адреса авторов перечислены.
Минусы — время и интерпретация. Проверку нужно повторять после каждого изменения, а чтобы как следует проверить вход через XML-RPC, придётся составлять XML вручную.
Если что-то пошло не так
- Сканер пишет «открыто», хотя вы это отключили. Очистите кэш страниц и CDN и просканируйте снова. Если всё ещё открыто, возможно, настройку перекрывает другой плагин или правило сервера.
- Сканер не может достучаться до сайта. Некоторые хостинги запрещают сайту отправлять запросы
самому себе (loopback). Попросите хостинг разрешить loopback-запросы или используйте способ с
curlснаружи. - Имя пользователя утекает и после укрепления. Проверьте блок автора в вашей теме и карту сайта авторов в SEO-плагине. Если тема выводит отображаемое имя автора, измените его.
С Hushfort
«Сканирование поверхности» входит в Hushfort Security — бесплатный плагин безопасности для WordPress.
«Сканирование поверхности» находится в панели «Укрепление поверхности» Hushfort. Оно измеряет, что ваш сайт на самом деле открывает, с помощью реальных запросов — так же, как ручной способ, — и перечисляет найденные имена пользователей поимённо. Каждой находке соответствует уровень Hushfort, который её закрывает:
- Вход через XML-RPC → Замок чёрного хода (Pro)
- Список пользователей REST, перебор авторов, карта сайта → Защита имён пользователей (Pro)
- Стандартный вход → Скрытие входа (бесплатно)
Мы создали «Сканирование поверхности» после того, как в один магазин продолжали поступать попытки подбора пароля через XML-RPC, хотя страница входа уже была скрыта. Настройки выглядели в порядке; открытую дверь показал только реальный запрос.
Частые вопросы
Законно ли сканировать собственный сайт на WordPress?
Почему проверять реальными запросами, а не по настройкам?
Находит ли эта проверка вредоносный код или уязвимые плагины?
Как часто нужно проверять?
Похожие инструкции
Как скрыть логины пользователей в WordPress и закрыть их перебор (user enumeration)?
WordPress публикует логины в четырёх местах. Скройте их: закройте список пользователей в REST API, ?author=N, архивы авторов и карту сайта, и проверьте.
Смотреть шагиЧто такое xmlrpc.php и как отключить XML-RPC в WordPress?
xmlrpc.php — вторая дверь для входа в WordPress, которую скрытый адрес входа не закрывает. Как отключить XML-RPC, сохранить пингбэки и проверить результат.
Смотреть шагиКак изменить адрес входа в админку WordPress (wp-admin и wp-login.php)?
Как изменить адрес входа в админку WordPress и скрыть wp-admin за пять безопасных шагов: проверка нового адреса до выхода и способ вернуться, если забыли.
Смотреть шаги

