(1)

В этом уроке речь пойдет о плагине, который мы использовали для ограничения числа попыток входа для пользователей. Не так давно нам вновь напомнили о данном плагине, так что теперь мы расскажем о нем немного подробнее. Этот плагин называется Limit Login Attempts и применяется он для ограничения числа попыток входа на сайт для пользователей.

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

Почему стоит ограничить число попыток входа на сайт для пользователя с учетной записью WordPress?

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

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

Настройки плагина блокировки доступа можно контролировать в панели администратора сайта. Эта панель также даст вам возможность проследить число и частоту появления тех людей, которые хотят взломать ваш сайт. Если вы заметите повторяющийся IP адрес , с которого к вашему сайту пытаются получить админ доступ, вы сможете забанить такой IP-адрес.

Как ограничить количество попыток входа для WordPress?

Для этого просто установите и активируйте плагин Limit Login Attempts .

Далее перейдите в настройки установленного плагина: Параметры → Limit Login Attempts . Заполните поле с числом допустимых ошибочных попыток входа на сайт , а также продолжительность блокировки пользователя по времени и сохраните заданные настройки.

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

Фильтрация доступа к консоли WordPress по IP адресу

Помимо блокировки пользователя по провальным попыткам входа на сайт возникает вопрос фильтрации пользователей по конкретному IP-адресу .

В качестве меры предосторожности можно ограничить доступ к сайту путем фильтрации IP-адресов в файле wp-login.php . К примеру, мы уже ограничили доступ к директории wp-admin путем фильтрации по IP. Поэтому мы предлагаем вам ознакомиться еще и с тем, как ограничить доступ по IP к вашему файлу wp-login.php в WordPress. Заметим, что приведенное руководство - не совсем для новичков, так как требует некоторого опыта в настройке сайта на WordPress.

Откройте файл .htaccess и добавьте в него указанный ниже код в верхней части файла до того, как далее идет остальной код самого файла:

order deny,allow Deny from all # whitelist West Palm Beach IP address allow from xx.xxx.xx.xx #whitelist Gainesvile IP Address allow from xx.xxx.xx.xx

Не забудьте при этом заменить указанные значения адресов IP вашими собственными. Единственным недостатком может стать наличие у вас динамического IP-адреса. В противном случае сбоев и проблем в работе такого фильтра не возникнет. Также после добавления кода собьется стиль для wp-login.php , но в вопросах защиты вашего сайта это не главное. Мы же ведь хотим просто ограничить число ошибочных попыток доступа к файлу и сайту.

Файл .htaccess (Hypertext Access, Доступ к гипертексту ) — это конфигурационный файл сервера, который находится в корневой папке сайта. В этом файле можно сделать дополнительные настройки для защиты от хакеров и спама, например, запретить доступ к определенному файлу или папке, установить пароль на папку, добавить редиректы каких-то запросов, заблокировать ip и так далее. Это мощный инструмент, который можно использовать для увеличения безопасности сайта.

В этой статье вы узнаете, что можно добавить в файл .htaccess для увеличения безопасности сайта.

Что может делать.htaccess

Файл .htaccess находится в корневой папке сайта. Точка перед названием файла означает, что файл невидим, и вы сможете его видеть если включите настройку «Показывать скрытые файлы».

Отображать скрытые файлы в Filezilla

Файл используется для настройки сервера, типичное применение файла:

  • Включает и отключает редиректы на другие страницы
  • Добавляет пароль на папки
  • Блокирует пользователей по IP
  • Отключает показ содержимого папок
  • Создает и использует собственные страницы для ошибок

В Вордпрессе этот файл используется для создания красивых постоянных ссылок (Настройки — Постоянные ссылки — Общие настройки), и создается автоматически когда эта функция включается.

Если вы уже знаете, для чего нужен этот файл, переходите к .

Сделайте бэкап

.htaccess довольно чувствительный файл, поэтому одна ошибка в синтаксисе может положить весь сайт. Скопируйте файл на компьютер, если появится ошибка, вы сможете вернуться к первоначальному варианту.

Как создать.htaccess

В зависимости от вашей установки Вордпресс, у вас может не быть файла .htaccess , поэтому его нужно создать. Вы можете создать его на компьютере и перенести на сервер с помощью ftp-клиента, или создать этот файл в файл менеджере на хостинг-панели.

Если ваш сервер или компьютер не позволяет создать файл с таким именем, создайте файл htaccess.txt, перенесите его на сервер и на сервере переименуйте его в .htaccess .

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

Для одиночной установки:

Для мультисайт установки, версия Вордпресс 3.5 или выше, если сайты находятся в подпапках:

Для мультисайт установки, версия Вордпресс 3.5 или выше, если сайты находятся на субдоменах:

Когда вы создаете новый .htaccess файл, дайте этому файлу как минимум 640 для защиты от возможных атак. Нормальные права для этого файла — 600. Если файл уже есть, проверьте, чтобы права доступа были не выше 640.

Куда добавлять изменения

Строки, начинающиеся с тега #, являются комментариями и не являются правилами для исполнения .htaccess .

Добавляйте свои комментарии к вашим правилам.

Когда вы добавляете свои правила, добавляйте их выше или ниже стандартных правил Вордпресс.

Не добавляйте и ничего не редактируйте между строками # BEGIN WordPress и # END WordPress . Для мультисайт установок таких комментариев нет, но не добавляйте и не редактируйте ничего в коде для мультисайт установок.

Если вы что-то исправили в этом коде, Вордпресс должен автоматически вернуть первоначальный вариант, но лучше ничего не менять. В крайнем случае у вас должна остаться копия файла, которую вы можете вернуть на сервер.

Добавляйте свои правила выше или ниже стандартных правил Вордпресс по-одному, пишите к ним комментарии, сохраняйте и проверяйте изменения на сайте.

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

Иногда требуется запретить доступ к админ-панели зарегистрированным пользователям. Обычно такая ситуация возникает, когда владельцы сайтов хотят дать доступ в консоль только доверенным пользователям. Это актуально для веб-ресурсов с несколькими авторами. В таком случае доступ получат редакторы и участники, но не подписчики.

В WordPress по умолчанию любой зарегистрированный пользователь получает доступ в админ-панель. Стандартные инструменты “движка” не позволяют каким-либо образом это изменить. Поэтому для решения задачи нужно воспользоваться сторонними решениями.

Плагин Remove Dashboard Access

С помощью плагина Remove Dashboard Access есть возможность выбирать роли пользователей, которые после регистрации на сайте могут получать доступ в админ-панель.

Во-первых, плагин нужно установить и активировать, после этого перейти в админ-раздел Настройки -> Dashboard Access .

Видно, что на странице настроек плагина, в опции Dashboard User Access , есть несколько вариантов для выбора:

  • Administrators only – только администраторы;
  • Editors and Administrators – редакторы и администраторы;
  • Authors, Editors, and Administrators – авторы, редакторы, администраторы.

Следует отметить, что пользователи, которые регистрируются на WordPress-сайте, получают роль Подписчик . Любой из вариантов, которые предлагает плагин Remove Dashboard Access , уже исключает пользователей с этой ролью для получения доступа в консоль WordPress.

Итак, после того, как были выбраны пользователи, которые будут иметь доступ в админ-панель, необходимо указать, что будут видеть на сайте пользователи, не имеющие таких разрешений. Наиболее правильным вариантом будет перенаправить их на ту или иную часть сайта. Для этого служит опция Redirect URL , в которой нужно указать нужный URL -адрес. В нашем примере пользователь будет перемещен на главную страницу сайта.

От автора: согласно данным исследования 2013 года, каждый день взламываются примерно 30 000 сайтов. И как все мы понимаем, чтобы обезопасить свой сайт от взлома, необходимо предпринять определенные меры. Важно обезопасить свои личные данные, но еще важнее дать пользователям понять, что их данные также находятся под защитой. Защищенный сайт значит сайт, заслуживающий доверия.

Существует несколько методов от взлома вашего сайта на WordPress. Один из них это ограничить доступ заданным пользователям. В этой статье я пошагово расскажу, как ограничить доступ к панели администратора WordPress по ip-адресу.

Но сначала давайте быстро пробежимся по угрозам безопасности сайтов на WordPress.

Угрозы безопасности WordPress

Взлом простым перебором – Когда хакер пытается получить доступ к сайту через форму авторизации, перебирая возможные имена пользователя и пароли.

Подтверждение правильности ввода имени – WordPress сообщает пользователям, какую часть из данных авторизации они ввели неправильно. К примеру, если правильно ввести имя пользователя, но ошибиться с паролем, WordPress подскажет пользователю об этом, что значительно облегчает поиск пароля простым перебором.

Версия WordPress – Если хакер узнает вашу версию WordPress, он может использовать уязвимости данной версии для получения доступа к сайту.

Глобальная регистрация в WordPress – По умолчанию в WordPress отключена возможность регистрации на сайте из любого уголка мира. Лучше оставить эту опцию выключенной в качестве превентивной меры.

Доступ к темам и плагинам – Администраторы сайта получают доступ к редактированию файла функциональности, что может привести к проблемам в безопасности. Не рекомендуется изменять файл функционала сайта.

Прежде чем редактировать файлы сайта, давайте рассмотрим предварительные шаги, которые необходимо проделать.

Меры безопасности

Чуть ниже мы добавим PHP код в файл настроек.htaccess. Но перед этим необходимо сделать резервную копию файла конфигурации.

Некоторые из вас захотят сделать полную копию сайта перед тем, как что-то изменять. Регулярное резервное копирование – хорошая привычка. Обязательно делайте копию сайта перед серьезными изменениями. Помочь в этом вам может плагин VaultPress .

Статический или динамический ip-адрес

В этом уроке мы покажем, как ограничить доступ к админке сайта как для статических адресов, так и для динамических.
Используйте инструкцию для статического ip-адреса, если вы редактируете сайт с домашнего компьютера или из нескольких других мест. В таком случае ваш ip-адрес не меняется, т.е. остается статическим.

Используйте инструкцию для динамического ip-адреса, если вы редактируете свой сайт из множества разных мест. IP-адрес часто меняется в случаях:

Когда другие члены команды разработчиков заходят и редактируют сайт из разных мест

Когда для редактирования вы используете мобильный телефон

Вы постоянно путешествуете, и вы заходите на сайт из разных мест

Основы разобрали, вот теперь можно и приступить к делу.

Приступаем к работе

Выше мы уже упоминали, что нам потребуется внести изменения в файл.htaccess. Второй шаг – найти файл конфигурации.htaccess. Этот файл располагается в корневой папке сайта. Если по каким-то причинам файла там нет, его можно создать вручную. Авторизуйтесь через cPanel или FTP и найдите этот файл.

Как только вы нашли файл, переходим к шагу три – вам нужно найти подходящий текстовый редактор, чтобы добавить код в файл конфигурации. Рекомендуем использовать или встроенный в cPanel редактор или установленный на компьютере (например Notepad).

Обратите внимание: Дабы не испортить существующие настройки сайта, весь код в.htaccess добавляется в самый верх.

Ограничиваем доступ по статическому ip-адресу

Если ваш ip-адрес не меняется или вы используете всего пару-тройку известных адресов, можно ограничить доступ к сайту по статическим адресам. Вы научитесь создавать список IP-адресов, которым позволено входить в панель администратора.

Как ограничить доступ к панели администратора по статическому ip-адресу

Откройте файл.htaccess через cPanel или любой другой текстовый редактор.

Скопируйте код ниже в самый верх файла.htaccess (Gist).

RewriteEngine on RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ RewriteCond %{REMOTE_ADDR} !^12\.345\.678\.90 RewriteCond %{REMOTE_ADDR} !^IP Address InsertTwo$ RewriteCond %{REMOTE_ADDR} !^IP Address InsertThree$ RewriteRule ^(.*)$ -

RewriteEngine on

RewriteCond % { REMOTE_ADDR } ! ^ 12 \ . 345 \ . 678 \ . 90

RewriteCond % { REMOTE_ADDR } ! ^ IP Address InsertTwo $

RewriteCond % { REMOTE_ADDR } ! ^ IP Address InsertThree $

RewriteRule ^ (. * ) $ - [ R = 403 , L ]

Редактируем код

Вам осталось лишь изменить строки 4 и 5 (в Gist это строки 9 и 10) и добавить разрешенные ip-адреса. Для этого замените IP Address InsertTwo$ и IP Address InsertThree$ на нужные адреса. Адреса должны быть в формате, как в строке 3 (в Gist строка 8).

Добавление и удаление авторизованных пользователей

Если нужно добавить еще разрешенные адреса, просто скопируйте строку RewriteCond %{REMOTE_ADDR} !^IP Address Insert$ и замените в ней IP Address Insert$ на нужный адрес. Также можно запретить доступ пользователям к панели администратора, удалив строку с их адресом RewriteCond %{REMOTE_ADDR}.

Что будет если неавторизованный пользователь зайдет на страницу?

После того, как вы ограничили доступ к админке по ip-адресу неавторизованный пользователь, зайдя на страницу авторизации или страницу wp-admin, увидит страницу 404.

Если вы используете Gist, то можете заметить, что редирект там прописан в первых двух строках. В строках 1 и 2 необходимо заменить your-site’s-path на адрес вашего сайта.

Ограничиваем доступ по динамическому ip-адресу

Некоторые из вас, возможно, хотят открыть доступ к панели администратора множеству пользователей. Такая ситуация может возникнуть, если у вас много редакторов сайта, или вы обслуживаете сеть из нескольких сайтов. Основной момент тут в том, что для входа в панель администратора требуется несколько динамических ip-адресов.

Как ограничить доступ к панели администратора по динамическому ip-адресу

Откройте файл.htaccess через cPanel или любой другой текстовый редактор. Скопируйте код ниже в самый верх файла.htaccess (Gist).

RewriteEngine on RewriteCond %{REQUEST_METHOD} POST RewriteCond %{HTTP_REFERER} !^http://(.*)?your-site"s-name.com RewriteCond %{REQUEST_URI} ^(.*)?wp-login\.php(.*)$ RewriteCond %{REQUEST_URI} ^(.*)?wp-admin$ RewriteRule ^(.*)$ - [F]

RewriteEngine on

. * ) $ [ OR ]

RewriteCond % { REQUEST_URI } ^ (. * ) ? wp - admin $

RewriteRule ^ (. * ) $ - [ F ]

Редактируем код

Чтобы код заработал, замените your-site’s-name.com в строке 3 на URL вашего сайта (в Gist строка 7). В Gist версии редирект также прописан в первых двух строчках. В строках 1 и 2 замените your-site’s-path на адрес вашего сайта. После этого если сработает редирект, то вас перебросит на страницу 404.

Функционал кода

Данный код ограничивает доступ хакерам, которые с помощью ботов пытаются подобрать логин и пароль простым перебором извне. Код файла.htaccess означает, что на страницу авторизации или wp-admin смогут попасть только пользователи, которые перешли на нее по внутренней ссылке.

Заключение

Решения, которое гарантирует стопроцентную безопасность вашего сайта от любых возможных угроз, не существует. Ограничение доступа по ip-адресу добавит хакерам сложностей при попытке взлома сайта простым перебором.

Ограничение доступа к консоли WordPress является тем вопросом, который волнует многих пользователей на разных форумах. Создаете ли вы сайт для вашего клиента, который не знает, чем WordPress отличается от Microsoft Word, или же просто хотите ограничить круг пользователей, имеющих доступ к консоли, – вне зависимости от причин вам может понадобиться «закрыть двери» к консоли перед некоторыми пользователями.

К счастью, есть много вариантов сделать это. В данной статье я быстро пробегусь по основным методам ограничения доступа к консоли, начиная с настройки прав для пользователей, что встроено в WordPress, и заканчивая написанием кода и установкой плагинов.

Ограничение доступа при помощи пользовательских ролей и возможностей в WordPress

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

Вообще, существует шесть видов ролей: супер администратор (для мультисайтов), администратор, редактор, автор, участник и подписчик.

Владельцы сайта могут использовать данные роли для управления тем, кто имеет доступ к написанию и редактированию записей, созданию рубрик, управлению комментариями, созданию страниц, заданию ссылок, управлению темами и другими пользователями – для этого достаточно привязать определенную роль тому или иному пользователю.

Супер администраторы могут получать доступ ко всем областям мультисайтовой сборки, в то время как администратор может получить доступ ко всем областям регулярной сборки, состоящей из одного сайта. Каждая последующая роль имеет все более и более сужающийся круг возможностей. Базовая роль, подписчик, может только управлять своим профилем – они не могут писать или редактировать записи, изменять параметры и т.д.

Если вам требуется простой способ ограничения того, какие пользователи могут получать доступ к вашему бэкэнду, вы можете автоматически привязывать всем новым пользователем роль Подписчика. Роль по умолчанию задается в разделе Параметры – Общие.

Ограничение доступа к WordPress с помощью кода

Допустим, у вас есть сайт сообщества, где пользователи могут регистрироваться, однако вы не хотите, чтобы у них был доступ к wp-admin. Если вы хотите закрыть доступ к консоли для всех пользователей, кроме администраторов, просто вставьте следующий код в файл functions.php:

Add_action("init", "blockusers_init"); function blockusers_init() { if (is_admin() && ! current_user_can("administrator") && ! (defined("DOING_AJAX") && DOING_AJAX)) { wp_redirect(home_url()); exit; } }

Теперь доступ к wp-admin смогут получить только администраторы. Все остальные будут просто перенаправлены на главную страницу.

Ограничение доступа к WordPress с помощью плагинов

Существует несколько простых плагинов, которые помогают закрыть от пользователей вход в консоль.

Login Redirect

Login Redirect – плагин от WPMU DEV, позволяющий быстро перенаправлять пользователей, которые зарегистрированы на вашем сайте, на любую выбранную страницу. К примеру, после того, как пользователи войдут под своим логином, вы можете отправить их на страницу сообщества вашего сайта или перенаправить к редактору записей.

Плагин просто в использовании – после установки и активации вам достаточно перейти на страницу Параметры – Общие и добавить в поле «Login Redirect» URL, куда будет совершаться перенаправление.

WP Hide Dashboard

Этот удобный плагин позволяет вам скрывать меню консоли, раздел личных настроек и ссылку Help на странице профиля от пользователей, которые имеют роль подписчиков. Таким образом, ваши подписчики будут видеть только базовую страницу профиля.

Плагин не нуждается в настройках и поставляется «из коробки».

Remove Dashboard Access

Данный плагин позволяет вам разрешать доступ к консоли только для администраторов или пользователей с определенными возможностями. Вы можете также выбирать, могут ли пользователи редактировать свои профили в консоли.

Пользователи, которые не являются администраторами или не имеют определенных возможностей, будут перенаправлены на выбранный вами URL.

Чтобы настроить плагин, перейдите в раздел Параметры – Dashboard Access и выберите параметры для пользовательского доступа и перенаправления.

Заключение

Ограничение доступа к вашей консоли WordPress не является таким уж сложным действием. В данной статье мы предложили несколько простых способов закрыть вход в консоль для пользователей, оставив доступ только для администраторов. Вы можете сами решить, какой способ вам больше подходит – с помощью плагинов, с помощью кода или с помощью дефолтных настроек WordPress.

Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png