Wp admin закрыть доступ для администратора. Как ограничить доступ к админке wordpress? Защищаем папку wp-admin с помощью.htaccess

Ограничение доступа к консоли 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.

Файл .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 сайте, не предоставляя при этом доступа к консоли? Когда пользователь создает аккаунт в ВП, он получает доступ к админке, также известной как Консоль. В этой статье мы покажем вам как ограничить доступ к консоли в WordPress.

Зачем ограничивать доступ к консоли?

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

Даже если вы решите кому-то предоставить доступ в консоль, вы всё также сможете контролировать то, что они смогут или не смогут видеть в консоли. Это мы обсудим позже.

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

Первым делом вам потребуется установить и активировать плагин Remove Dashboard Access . После активации переходим в Настройки » Dashboard Access для настройки плагина.

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

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

Если вы хотите разрешить пользователям редактировать профили, тогда нужно отметить галочку рядом с «user profile access». Однако, если выбрать эту опцию, то отключится функция перенаправления. Плагин будет перенаправлять пользователей на страницу редактирования профиля вместе адреса, указанного вами ранее.

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

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

Скрываем элементы в админке WordPress

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

Вы можете скрывать и контролировать то, что пользователь видит в консоли. Сделать это можно с помощью плагина Adminimize, о котором мы писали ранее.

Защищаем папку wp-admin с помощью.htaccess

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

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

Мы надеемся, что эта статья помогла вам ограничить доступ к консоли WordPress.

По всем вопросам и отзывам просьба писать в комментарии ниже.

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

Flector 5

Adminimize

Обновлено:

Adminimize это плагин, позволяющий вам настроить админку блога. Если выражаться точнее, то в админке блога вы можете убрать абсолютно любые элементы для выбранной роли пользователя. Самый простой пример - вы можете с помощью этого плагина запретить зарегистрированному пользователю видеть в админке что-либо, кроме его собственного профиля. То есть можно убрать ссылки на "Консоль ", сообщения о том, что доступна новая версия движка, логотип WordPress , надписи и ссылки в футере и т.д. Аналогично можно ограничить доступ к функциям админки авторам или редакторам блога, да и для администратора тоже можно убрать все лишние неиспользуемые пункты.

Скачиваем плагин с его домашней страницы и устанавливаем его:

1. Распаковываем архив.

2. Копируем папку adminimize в /wp-content/plugins/ .

3. Заходим в админку блога на вкладку "Плагины " и активируем плагин.

В плагине нет русского языка, но эту ситуацию можно поправить, скачав русскую версию плагина у лекактуса . У него слишком старая версия плагина, которая нам не подойдет, а вот файл локализации нам пригодится. Правда, он немного устарел и некоторые фразы переведены не будут, но все же это лучше, чем ничего. Просто скопируйте из скаченного архива плагина файл adminimize-ru_RU.mo в папку плагина languages и у вас появится русский язык.

Настройки плагина вы найдете в "Параметрах\Adminimize ". Настроек тут очень много и прежде, чем что-либо изменять сначала внимательно изучите все, что предлагает вам плагин. В принципе, все должно быть понятно, так как на русском языке плагин уже не так сложен в освоении. Рассмотрю лишь пример, о котором я упомянул в начале статьи - как запретить обычному подписчику видеть что-либо, кроме его профиля.

1. Скройте "Подвал " в "Настройках админки ".
2. Ограничьте "Информацию о пользователе " выводом только ссылок на профиль пользователя и на выход из блога.
3. Поставьте опцию "Dashboard deactivate, redirect to " как "По умолчанию (profile.php) ".
4. В "Глобальных настройках Любимых действий ", "Настроек экрана " (в русском переводе так будут называться 2 пункта, отключайте их оба) и "Контекстной помощи ".
5. В "Настройках меню " отключите для подписчика вывод "Консоли " и вывод "Инструментов ".

Основная настройка закончена, теперь подписчик при входе в админку попадает в свой профиль и не видит ссылок на "Консоль ", "Инструменты " и не видит футера. На этом можно и остановится, но лично меня не устраивают следующие вещи: разделитель, расположенный чуть выше ссылки на профиль, информация о том, что доступна новая версия WordPress , логотип вордпресса и кнопка "Перейти на сайт ". Все эти вещи можно убрать через дополнительную настройку в "Ваших собственных настройках ", просто указав там ID или class убираемого элемента. Рассмотрим по шагам:

Убираем разделитель:

Называем пункт "Разделитель " и ставим его значение как "#adminmenu .wp-menu-separator Разделитель

Убираем сообщение о новой версии WordPress :

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

Убираем логотип WordPress :

Называем пункт "Лого " и ставим его значение как "#header-logo ", сохраняем. Теперь в настройках появился новый пункт "Лого ", который мы можем запретить для подписчика.

Убираем кнопку "Перейти на сайт ":

Называем пункт "Кнопка " и ставим его значение как "#site-visit-button ", сохраняем. Теперь в настройках появился новый пункт "Кнопка ", который мы можем запретить для подписчика.

Таким образом можно запретить показ чего угодно в админке, лишь бы только оно было оформлено через css . Принцип, я думаю, вы поняли и дальше объяснять нужды нет.

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

Чтобы отключить вообще встраивание своих цветовых схем в профиль пользователя найдите в файле плагина adminimize.php функцию _mw_adminimize_admin_styles($file) и удалите ее содержимое. То есть в итоге у вас должно получиться.

(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 , но в вопросах защиты вашего сайта это не главное. Мы же ведь хотим просто ограничить число ошибочных попыток доступа к файлу и сайту.

Статьи по теме