Защита админки в WordPress — просто, быстро и надёжно!

Защита админки WordPress

  Защищаем админ-панель в WP

После недавнего взлома web-ru.net (пока не ясно точно, что это было) решил защитить админку данного WordPress-сайта.

Вообще, в интернете описано множество способов для этого. Есть, например, специальные WP-плагины, которые контролируют IP пользователей, создают сложные капчи и делают что-нибудь ещё.

Но установка новых плагинов — процесс не очень рациональный. Я же предлагаю более простое и одновременно надёжное решение.

Простая и надёжная защита админки WordPress

Сначала надо немного пояснить, что и зачем следует защитить.

админка сайта (администраторская, админ-панель) — это такое пространство большинства CMS, откуда происходит управление сайтом — создаются страницы, что-то редактируется/загружается и т.д.

Естественно, никакой админ не хочет, чтоб в его админку попали посторонние люди :).

Попасть туда можно обычно путём ввода логина/пароля на специальной странице. Например, в Вордпрессе можно залогиниться в администраторской, перейдя по адресу http://site.ru/wp-admin или http://site.ru/wp-login.php:

вход в админку WordPress

  Форма входа в админку WordPress

Поэтому необходимо сделать так, чтобы ввод логина/пароля происходил бы по известному только вам адресу.

Для этого нужно сделать всего 3 шага:

  1. в корневой папке своего сайта находим файл wp-login.php
  2. переименовываем его как угодно, хотя бы так: sdfdsgertg2323redg.php (лучше его сначала скачать себе на ПК)
  3. открываем данный файл и меняем все упоминания «wp-login.php» на «sdfdsgertg2323redg.php»

3-й пункт можно сделать вручную в блокноте, но проще воспользоваться специальным редактором (рекомендую Notepad++). Откройте в нём файл, нажмите CTRL-F и что делать далее — видно на картинке:

Notepad++ - замена строк в wp-login.php

  Notepad++ — замена строк в wp-login.php для защиты админки WordPress

Далее в корневую папку вашего WP-сайта нужно поместить файл sdfdsgertg2323redg.php. Естественно, файла wp-login.php там быть уже не должно.

Вот и всё. Теперь авторизоваться в админке можно по адресу http://site.ru/sdfdsgertg2323redg.php. Причём при обращении к http://site.ru/wp-admin произойдёт редирект на страницу 404-й ошибки, что правильно.

Update!

Долгое время было не ясно — как сделать нормальный log out из админки при изменении имени файла. Дело в том, что при нажатии «Выйти» в админ.панели перекидывало на /wp-login.php, которого уже нет, в результате нормального выхода так и не получалось.

Теперь проблема решена (благодаря комментатору Ярославу):

  1. заходим в папку wp-includes
  2. находим там файл general-template.php
  3. аналогично, как и ранее: ищем там «wp-login.php» и меняем его на новое название файла.

И всё теперь хорошо.

Update 2!

Обнаружен недостаток первого Update’а — при обращении к сайту по URL http://site.ru/wp-admin в адресной строке браузера видно новое название файла. Так что лучше использовать алгоритм до «Update!». Спасибо комментатору «Хозяин» :).

Дополнение

В свежих версиях WordPress переименование файла wp-config.php и замена в нём всех «wp-config.php» на новое имя файла не поможет. Чтобы помогло, нужно использовать wp-config.php от старых версий WP — возможно, до 4.0 или до 3.5. Можете скачать wp-config.php отсюда и производить все манипуляции уже с ним.

Читайте также по теме защиты WP:

Таким образом, этим простым способ можно защитить админку в WordPress без всяких плагинов и т.п. Главное, не забыть новый адрес для залогинивания и никому его не давать ;).

1 Star2 Stars3 Stars4 Stars5 Stars (3 оценок, среднее: 3,67 из 5)
Loading...
Случайные публикации:
  • Как создать страницу 404 для сайта и какой она должна быть?Как создать страницу 404 для сайта и какой она должна быть?Организовать нормальную страницу для 404-й ошибки сайта, созданного...
  • Что такое CTR баннера или рекламного объявления?Что такое CTR баннера или рекламного объявления?...и CTR баннера равен 5%, то это означает то, что при 100 его показах пользователями
  • Кое-что новое в поиске Яндекса и GoogleКое-что новое в поиске Яндекса и GoogleКогда просматриваешь запросы, по которым люди переходили на тот или иной сайт (...
  • Новые правила в Robots.txt для ЯндексаНовые правила в Robots.txt для Яндекса...которого вы можете разрешить или запретить индексирование сайта поисковым
  • Что такое RSS, для чего нужно, как подписаться и пользоваться RSSЧто такое RSS, для чего нужно, как подписаться и пользоваться RSSЛюбой современный блог не обходится без упоминания технологии RSS -...
Оставьте комментарий:
комментария 64
  1. Кристина:

    Спасибо за идею, — очень просто и, думаю, эффективно!)) Желаю удачи в восстановлении Вашего сайта.

    Ответить
  2. Наталья:

    для меня конечно сложновато, но делать надо. уже пару раз появлялись сообщения от хостера что панель входа атакуют боты с целью подобрать пароль. Сейчас хостер изменил вход — нужно сначала нажать определённую ссылочку и перейти. А Вам такую услугу можно заказать, что бы сделать такую защиту?

    Ответить
  3. Мирослав:

    Благодарю за статью.
    Сейчас меняю название файла и вспомнил про robots.txt, куда стоит вписать новое название вместо wp-login.php)))

    Ответить
  4. Vlad:

    Интересная система. А logout у всех нормально работает? При выходе из системы обращается к файлу wp-login.php а так как его нет, я из админки выйти не могу:(.

    Ответить
    • Пётр:

      Да, обычный logout не получается.
      Не думаю, что это проблема, т.к. выход из админки можно осуществить простым закрытием браузера и/или чисткой cookies.

      Ответить
    • Ярослав:

      Чтобы logout нормально работал, надо изменить название файла wp-login.php на новое и в файле wp-includes/general-template.php

      Ответить
  5. Юра:

    Спасибо за полезный совет. Пойду переименовывать

    Ответить
  6. Sanya:

    Добрый день! Сделал всё как в статье, но редиректа на страницу 404 нет, просто белая страница. Сама страница 404 в папке темы присутствует, в корневой паке сайта её нет, может проблема в этом?

    Ответить
    • Пётр:

      Здравствуйте,
      значит, что-то не так сделано или с шаблоном темы что-нибудь не то.

      страница 404 в папке темы присутствует, в корневой паке сайта её нет, может проблема в этом?

      — так и должно быть, проблема не в этом.

      Ответить
  7. Sanya:

    Отредактируйте пост выше, если пробую зайти на страницу site.ru/wp-login.php то нахожусь на белой странице с этим же адресом, редиректа на 404 нет, если же захожу на site.ru/wp-admin то перекидывает на новую страницу админки.

    Ответить
    • Пётр:

      В общем, или файл «wp-login.php» не меняли (и не удалили) или же что-то с темой.

      Ответить
  8. Игорь:

    Не плохой метод, что бы не прибегать к плагинам. Хотя один плагин может и не помешает, на попытки входа в админку.

    Ответить
  9. Игорь:

    Способ хороший, давно им пользуюсь. Еще после переименования файла, можно сделать следующее: создать файл wp-login.php и написать в нем всего одну строчку, типа: «Думаешь, ты здесь самый умный?» Или такую: «Хакерам тут не место!» Ну это просто для прикола!! :-D

    Ответить
  10. Роман:

    Круто придумано. А еще можно старую страничку не удалять а написать там что то типо — «хахахаа — обломись а админки тут нету! Или типо — А не пора ли вам в школу дорогой»)) это не только не даст взломать ваш сайт а еще и надругается над хакерами)))

    Ответить
    • Пётр:

      Обычно злое приводит к злому :)
      Так что лучше этим не увлекаться — а то попадётся особо продвинутный и обидчивый хакер — так он вам весь хостинг снесёт ;).

      Ответить
  11. Роман:

    От блин а такое уже было предложено выше — ну ничего )) Думаю издевательствам над хакерами нет предела)

    Ответить
  12. Сергей:

    Всем привет!
    Прочитал и хлчу сказать, что вся эта комбинация не совсем верна. Вход в админку, делается по совсем другому файлу. А вышеуказанное чисто сделано для входа для пользователей.

    Ответить
  13. Сергей:

    Всем привет!
    Спасибо за статью, а точнее за труд. Куда бы без Вас!
    Но возникла проблемка. Сделал все как ту написано, на одном все без проблем заходит и т.д, а вот на втором ресурсе, да выходит окно автризации, ввожу данные и — No input file specified. C родными файлами, все нормуль.
    Скажите в чем проблема, всю голову сломал?! Движок WP 3.7.1

    Ответить
    • Пётр:

      Здравствуйте,
      весьма странно, возможно, что-то случайно удалили из wp-login.php.

      Замените тогда этот файл на тот, что в том сайте, где всё без проблем.

      Ответить
  14. Ksenia:

    Здравствуйте, сделала как Вы написали-отличная тема, но к сожалению когда захожу уже в админку-белая страница((( Может подскажете в чем может быть проблема?

    Ответить
    • Пётр:

      Здравствуйте,
      способ действенный и универсален на старых и последней версиях WordPress.

      Возможно, Вы что-то удалили/не полностью заменили в wp-login.php.
      Также попробуйте очистить куки и кэш браузера и авторизоваться по новой.

      Ответить
  15. Денис:

    Автору спасибо! Хорошая запись, помогла очень.

    Ответить
  16. Бипер:

    А вот у меня простой вопрос, в таком случае? Если сделать все как описано выше, то тогда авторизация пользователей будет происходить на какой страницы?

    Ответить
    • Пётр:

      Так на той же, где и админ авторизуется.

      Ответить
      • Владимир:

        Но тогда ведь и хакер увидит по какому адресу происходит авторизация и направит туда своего бота.

        Ответить
        • Пётр:

          Если вынести эту страницу «в массы» — то да, естественно.
          Просто WordPress такой движок, который в основном предполагает наличие одного человека, входящего в админку.

          Или же, как вариант, надо дать адрес этой страницы «проверенным» людям.

          Ответить
  17. Денис:

    Здравствуйте, скажите вот у вас на сайте в конце статьи есть кнопки соц сетей , довольно таки интересно выглядят, скажите вы сами это создавали эти кнопки или это какой то плагин.

    Ответить
    • Пётр:

      Здравствуйте, это скрипит соц.кнопок от Яндекса.

      Ответить
  18. Валерий:

    …Главное, не забыть новый адрес для залогинивания и никому его не давать…
    а как тогда быть с новыми участниками (они у меня требуются)? Самому их регистрировать?

    Ответить
  19. Егор:

    Сделал все как написано, теперь зато не могу выйти из админки , ошибка 404, Где нужно добавить новый адрес входа? Буду ждать вашего ответа. :-D

    Ответить
    • Пётр:

      Вообще, не задавался этим вопросом, т.к. выходить из админки можно просто закрывая браузер и вычищая куки.
      Но думаю, можно покопаться в файлах и найти решение :)

      Ответить
  20. Евгения:

    Народ сделала как тут говорили, а у меня при входе в админку
    вот что выдает
    белая страница с такой надписью
    Не Найдено

    Запрошенный URL /wp-login.php не был найден на этом сервере.
    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument для обработки запроса.

    Apache/1.3.34 Server at xn--1-7sbcuj2c.xn--p1ai порт 80

    Ответить
    • Пётр:

      Естественно, /wp-login.php не найден, его же переименовали.

      Ответить
      • Ирина:

        Почему же тогда запрос идет на это имя? И что с этим делать? У меня та же проблема: Запрошенный URL /wp-login.php не был найден на этом сервере.
        Возможно есть еще файл, который необходимо изменить?

        Ответить
        • Пётр:

          Он и не может быть найден — его же теперь нет.

          Для залогинивания следует перейти на site.ru/новое-имя-файла.php

          Ответить
  21. Евгения:

    Всем спасибо, переспав с этой информацией. Утром все получилось =)

    Ответить
  22. Хозяин:

    работает всё норм, НННОО вводя в в адрес в место login.php wp-adminстраница выдает страницу входа а в адресной строке показан мой адрес который я поменял с login php

    Ответить
  23. Александр:

    Очень нужная и интересная статья. Как обычно за остальной работай по сайту забываешь подумать о безопасности, а кончается всё очень плохо! Спасибо!!!

    Ответить
  24. Oksana:

    Здравствуйте,
    Столкнулась с проблемой атак и приняла несколько мер против этого. Включая этот. Все получилось, и заменить и войти. Проблема вылезла с неожиданной стороны. Теперь не могу добавить фото ни на страницу, ни в статью. То есть, когда кликаешь на кнопку «добавить медиафайл» галерея не загружается. Меняю все обратно — работает. Не подскажете, в чем проблема?

    Ответить
    • Пётр:

      Здравствуйте, ни разу с таким не сталкивался.

      Быть может, кто-нибудь из комментаторов вам поможет…

      Ответить
  25. Ирина:

    Добрый день!
    Все сменила, но переходит на wp-login.php не только при выходе, но и при входе в админ панель? Что делать? Возможно еще есть какой-то файл, который еще нужно изменить?

    Ответить
    • Михаил:

      Та же самая проблема. Хостер говорит не суйся, лучше плагин установи)) А мой пытливый мозг не дает мне теперь покоя…

      Ответить
  26. Ирина:

    А что делать с установленными плагинами Anti-XSS attack и Login LockDown? Они-то тоже используют wp-login в чистом виде?

    Ответить
  27. Андрей:

    Для лучшей защиты лучше плагин использовать

    Ответить
  28. Макс:

    В таком способе защиты админки есть дырочка :( . Если вбить «адрес сайта/wp-admin», будет пере направление на новый адрес админки. Не имеет значения, заблокирован доступ к файлу wp-login.php или нет.

    Ответить
  29. Sergei:

    Я просто убрал стандартный файл wp-login.php, а на его место по ftp поставил этот другой с таким содержимым —


    <?php

    // ... здесь какой-то код PHP ...

    echo "";

    // ... здесь какой-то код PHP ...

    ?>

    Картинку с юмором или с статьей уголовного кодекса.
    Можно поиздеваться и поставить вместо картинки другой код…

    Когда необходимо ставлю обратно родной и все….
    Несколько секунд и проблем с подбором пароля к админке нет.

    Ответить
  30. Дизайнер Одесса:

    Можете переписать статью без апдейтов внизу?)

    Ответить
Я не спамлю...