Как скрыть имя админа сайта в WordPress
Очередная статья о защите движка WordPress. О необходимости защиты админ-панели в WordPress я уже писал в ранее. Сегодняшняя статья навеяна как-раз комментарием одного из пользователей по поводу защиты блога — сменой стандартного имени админа на более трудное для подбора. Это довольно распространенная ошибка многих пользователей. Я сам так же пребывал в счастливом неведении, пока не начал смотреть логи попыток авторизации(можно отследить специальными скриптами или плагинами). После этого я понял что срочно,нет, СРОЧНО — нужно что-то делать)
Стандартными плагинами и настройками WordPress нельзя отключить одну из неприятных особенностей движка. Эта особенность показывает все статьи определенного автора по адресу «http://мой-сайт/?author=1«. Вместо «1» мы можем написать любую цифру и перебором номеров можно узнать всех пользователей сайта. Администратором чаще всего является первый пользователь сайта. Даже если это не так, то имена других — узнать тоже не большая проблема.
Получается, огромная дыра в нашей защите, которую с огромным удовольствием используют злоумышленники.
Как убрать эту дыру?
Делается это просто.
Находим файл .htaccess в корне сайта и добавляем к нему следующие строки:
# SPAM_PROTECTED RewriteCond %{REQUEST_URI} ^/$ RewriteCond %{QUERY_STRING} ^/?author=([0-9]*) RewriteRule ^(.*)$ http://адрес-сайта/раздел/? [L,R=301]
Где, http://адрес-сайта/раздел/ — будет страница сайта, на которую мы хотим сделать переадресацию, при запросе злоумышленником определенного адреса. В нашем случае, это /?author= . При попытке его зайти сюда, он будет отправлен по редиректу.
Для большей наглядности приведу пример данного правила для моего сайта и итог его работы.
# SPAM_PROTECTED RewriteCond %{REQUEST_URI} ^/$ RewriteCond %{QUERY_STRING} ^/?author=([0-9]*) RewriteRule ^(.*)$ http://feanor184.ru/spameram? [L,R=301]
Теперь, при запросе http://feanor184.ru/?author=1 мы попадаем совсем на другую страницу. Теперь ваше имя админа сайта узнать гораздо сложнее.
Класс! Чувак, просто круто, спасибо! Никогда не догадывался о том что к моему сайту так легко было подобраться!!
Хотел выругаться. Но скажу одно «Спасибо». Не знал что так можно. Пойду править по вашим рекомендациям.
С одной стороны проблема, не критична. Но исправить её всё таки следует.
Спасибо за совет по исправлению.
То есть благодаря данной дыре и почту админа узнать можно? у меня на сайте WordPress еще и постоянно новые теги появляются и статьи на модерацию, похоже меня уже раз 20 поломали, спасибо за информацию буду исправлять.
Вы хорошо разбираетесь в WP, а не поможете мне? У меня периодически некоторые страницы появляются с https доступом. Как это исправить?
Что значит появляются страницы с https?) Если вы сами не настраивали этот протокол, то его не должно быть на сайте.
Это можно еще через базу данных phpMyAdmin сделать и тоже очень просто
А как вообще запретить вывод author=1 на сайте? Не через редирект, а системно?
все в том же .htaccess нужно прописать примерно следующее:
< files /author=1 >
deny from all
< /files >
Воспользовался вашими рекомендациями. Правда я пользуюсь плагином SEO Redirection. Недавно менял CMS и пришлось вручную прописывать ограмную кучу редиректов, через плагин это удобнее, иначе бы точно запутался. Но главное результат. Теперь благодаря вам с этой страницы редиректит на страницу «Обо мне», пусть читают.
Как раз стал интересоваться, как защитить свой сайт. Спасибо за статью, надеюсь, что сам смогу справиться.
Ого! А я даже и не знал. Сейчас проверил — действительно, в адресной строке прописывается логин. Осталось только пароль подобрать. На днях обязательно займусь этим вопросом. Конечно, в случае взлома всегда можно будет всё восстановить через хостинг, данные-то там каждый день сохраняются, но лучше не рисковать.
При взломе в код сайта могут быть внесены вредоносные скрипты, которые вы сразу не опознаете. Иногда такие вещи засекаются только через месяц, два, иногда даже больше. Обычно такие старые бекапы редко кто из хостеров хранит =)
К тому же при взломе могут быть внесены изменения в базу данных, что не лечится простым восстановлением файлов из бекапа)
Буду теперь добавлять (исправлять) это на своем сайте. Спасибо) и все-таки, оформление сайта вашего — это вообще круто!
Но есть плагины ограничения авторизации и Anti-XSS attack. Думаю лучшее — это своевременные бэкапы, ведь сломать в принципе можно всё.
У меня на вордпресс сайте уже месяц один умелец пытается взломать сайт, то и дело приходят сообщения что были попытки. Я один плагин поставил он перекрывает многие стандартные пути взлома. Но у него есть один недостаток, он не полностью функционален — бесплатная версия.
Довольно интересная статья, на своем блоге сделал так как,вы написали. Хотел бы уточнить данная процедура защищает нас только от простого перебора к админке, какие еще способы защиты можно использовать.
Ростислав, способов огромное количество) Каждый затягивает гайки в силу своей паранойи…мне вполне хватает данных настроек + пару недокументированных фишек, которые палить в паблик не очень хочется, дабы не подобрали пути обхода — умельцы у нас всегда найдутся))
Знал про эту возможность узнать автора сайта, но не мог закрыть ее. Теперь знаю как не показывать автора. Спасибо автору блога.
Отлично. Все бросились исправлять на своих сайтах. Полезная инфа, хотя, мой сайтик нет смысла ломать. Но, надо тоже скрыть имя и остальное.
А разве нельзя изменить имя автора в настройках ВордПресс? Я именно так и делал!
Можно, только он все равно таким образом будет показываться, только с другим индексом 2,3,4, …
Опачки, приехали, вот это подстава от вордпресса…. О_О Однозначно, в копилку!
Понравился ваш сайт, возьму на заметку! Опять вордпресс подводит, будем это исправлять! Спасибо за информацию!
Как посмотреть логи попыток авторизации?