Удаляем скрытого админа в WP
Многие знают о том, что в начале осени многие WordPress блоги подверглись MySQL-хаку, который портил пермалинки и делал невозможным доступ к постам. Данный хак поражал блоги старых версий WP, защита которых не выдерживает серьёзной критики.
Это, конечно, является ещё одним доводом в пользу своевременных обновлений, но множество блоггеров не спешит обновляться по целому ряду причин. В частности из-за того, что придётся обновлять и целую кучу плагинов, некоторые из которых обновляются не так часто и могут быть несовместимы с новыми версиями WordPress.
К тому же поле деятельности программиста безбрежно и работа его может быть сведена к одной упрощённой формуле :"Пофиксил один баг - породил другой". Многие просто ждут "обкатки" новых версий и выявления в них новеньких багов. Так что поголовного перехода на новые версии не происходит.
Я тоже долгое время не дёргался - моя старенькая версия WP меня вполне устраивала, пермалинки, давление и температура у меня были нормальные. В ближайшее время мне всё равно надо менять хостинг - вот я и решил сделать всё сразу - и хостинг поменять и WordPress до последней стабильной версии обновить.
Однако вчера я совершенно случайно обнаружил, что у моего блога появился новый админ, который явно пытался скрыть своё присутствие. Проверить наличие скрытого пользователя с правами администратора можно и таким способом - зайти на страницу создания записи и посмотреть, сколько авторов претендуют на Ваши проникновенные посты.
Если Вы увидите такую, к примеру, картину
(справа) - у Вас появился конкурент. Понятно, что это безобразие надо немедленно пресечь.
Пресечь можно разными способами, но проще всего, по-моему, воспользоваться мощным скриптом phpMyAdmin, установленным по-умолчанию у каждого более-менее серьёзного хостера. Скрипт навороченный, но нам хватит и 1% его возможностей.
Получить доступ к скрипту можно через панель управления Вашим аккаунтом, а можно ещё проще - наберите в адресной строке браузера http://Ваш сайт/phpmyаdmin, введите в появившемся окне авторизации логин и пароль доступа к Вашей базе данных (если забыли или отродясь не знали - можно посмотреть в файле wp-config.php) и Вы попадёте на страницу скрипта.
Выбираете нужную базу данных и жмёте на вкладку SQL.
![]()
Далее, в появившемся поле ввода нужно разместить следующий запрос :
SELECT u.ID, er_login
FROM wp_users u, wp_usermeta um
WHERE u.ID = er_id
AND um.meta_key = 'wp_capabilities'
AND um.meta_value LIKE '%administrator%';
В результате мы получим список всех пользователей с правами администратора. 
Осталось дело за малым - удалить самозванца. Жмите крестик и подтвердите удаление.
Однако, у меня так просто удалить нежелательного администратора не получилось. При попытке удаления
выскакивало следующее Error-окно (слева). #1054 - Unknown column 'u.ID' in ' where clause'.
У меня совершенно не было желания разбираться в различиях версий mySQL и тонкостях SQL-запросов, поэтому я пошёл простым, брутальным путём.
Выбираем в базе таблицу wp_users, далее вкладка "Экспорт" и сохраняем таблицу на диск. Открываем любым текстовым редактором (тем же блокнотом) и удаляем запись, относящуюся к нежелательному пользователю. Структура файла простая, разобраться, что удалять труда не составит.
В phpMyAdmin жмём вкладку "Удалить" и полностью удаляем таблицу wp_users. Далее вкладка "Импорт",
выбираем отредактированную таблицу wp_users и импортируем в базу. Делаем SQL-запрос, проверяем - скрытый админ удалён.
Естественно, перед всеми манипуляциями крайне желательно сделать бэкап всей базы. Наверняка есть и более изящные способы решения этой проблемы (я не являюсь специалистом в области баз данных и систем управления контентом) но и этот способ достаточно простой, по-моему...
Чтобы избежать повторного взлома можно обновиться до последней версии WordPress, а можно погодить и прибегнуть к способу, нагугленному в сети на многих источниках - заменить в папке /wp-includes/ файл vars.php на аналогичный от последней версии WordPress, либо отредактировать его вручную.
Для этого находим в данном файле строку $pagenow = $self_matches[1]; и добавляем сразу после неё строку $pagenow = trim($pagenow, '/');. Говорят помогает. Я себе добавил. Осталось только прошерстить архивы на предмет левых спам-ссылок ![]()
-------------------------------------------------------------------------------
Довольно ново и неожиданно для меня - партнерская программа игры Travian. Деньги платятся за бесплатные регистрации в этой онлайн игре. С 1000 переходов можно заработать до $100 и более ! Если учесть, какой популярностью пользуются on-line игры - эта партнёрка может служить источником серьёзного дохода для вебмастера.
Всегда востребованная услуга - оценка стоимости авто
Всегда в моде - серебрянные украшения






Офигеть! У меня 4 блога на разных старых версиях. Все лень довести до ума. Но вижу, что нужно.
Нужно-нужно
Интересует вопрос. Как без всего этого можно проверить о скрытом админе? через админку этого не видно.
Лаврентий Палыч - шутить изволите ? Сначала прочитайте.
Спасибо огромное за пост, помогло. Вот только "теневого админа" можно удалить через PhpMyAdmin без удаления базы данных.
У меня не вышло почему-то. Просто так быстрее у меня получилось. Тем более я не всю базу удалял, а только одну таблицу.
вот к тебе вопрос как у гуру wordpress'а, мой сайт прекрасно индексируется в таких поисковиках как google, yahoo, bing, liveinternet. Но при этом о нем в упор не знают yandex, rambler, mail.
Почему понять не могу. В файле robots.txt никаких запрещающих правил нет, в самом коде блога тегов типа noindex or nofollow тоже нет, код абсолютно чист.
Хостер ай-пи не закрывал от поисковых машин, на yandex, rambler, mail, я регался. Может подскажешь какую идею что еще может быть ??
п.с. сайту 14 мес.
Спасибо за "Гуру", конечно

Вообще довольно странно. Блоги на Word Press обычно прекрасно индексируются. Ну что могу посоветовать... В общем всё известно.
1. Проверь, есть ли у тебя список пингсервисов (настройки->написание). В инете массу информации найдёшь про пингсервисы.
2. В robots.txt попробуй вставить строки
User-agent: Yandex
Crawl-delay: 5
3. Сделай (если ещё нет) карту сайта. Есть плагины для WP.
4. Напиши плаксивое письмо Платону
Как-то так... Яндекс непредсказуем...
Правильный вариант запроса на удаление:
DELETE FROM wp_users WHERE ID = 6;
Enyby - спасибо !