Wordpress разграничение доступа к страницам. Как ограничить доступ к админке wordpress? Защита админки от брутфорс-атак

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

Но сегодня речь не об этом. Сегодня мы рассмотрим один простой бесплатный плагин Restrict Author Posting , с помощью которого вы сможете закрепить за каждым автором определенные рубрики, а доступ к остальным рубрикам ограничить.

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

Плагин Restrict Author Posting

В первую очередь скачайте и установите бесплатный плагин Restrict Author Posting.

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

Прокрутите профиль пользователя в самый низ и вы увидите новое меню Restrict Author Post to a category , в выпадающем списке выберите Рубрику, для которой будет писать этот автор. Нажмите сохранить.

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

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) и удалите ее содержимое. То есть в итоге у вас должно получиться.

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

В 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 -адрес. В нашем примере пользователь будет перемещен на главную страницу сайта.

Всем привет! В этой статье речь пойдет о роли пользователей WordPress, иными словами о правах пользователей в группах. Что каждый из них умеет и как настроить права доступа.

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

Способ №1

Разрешить читателям регистрироваться на блоге. Это можно сделать в разделе «Общие настройки»:

Поставьте галочку напротив «Любой может зарегистрироваться» и выберете роль пользователя WordPress, то есть к какой группе будет относится зарегистрированный на блоге читатель.

Способ №2

В ручную создавать нового пользователя. Для этого необходимо воспользоваться разделом админки WordPress «Пользователи» — «Добавить нового»:

Обязательными являются только поля Имя, Email и пароль. Внизу не забудьте выбрать для него роль.

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

Стандартные группы пользователей (роли) и их права доступа

Подписчик

Самое бесправное из всех зарегистрированных «существ» в WP. Имеет доступ только к настройкам своего профиля.

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

Участник

Помимо редактирования своего профиля участник умеет:

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

Автор

  • Может самостоятельно публиковать статьи без одобрения администратора.
  • Добавлять медиа-файлы в WordPress.
  • Если имеется , то он предоставляет возможность загружать разного рода файлы на сервер.

Редактор

Редактор имеет все права связанные с публикацией и редактированием материалов сайта. Настройки самой админки WP и большинства плагинов ему не доступны. И так, пряники редактора:

  • Возможность публиковать записи и страницы на блоге, а также изменять уже существующие.
  • Создавать категории, метки и внешние ссылки.
  • Полный контроль над комментариями — удаление/создание/редактирование.
  • Помимо упомянутых выше, какие еще плагины доступны (из замеченных мной): Contact Form 7 — теперь все настройки формы обратной связи; FV Gravatar Cache — настройки кэширования аватар в комментариях; Subscribe To Comments — подписка на новые комментарии; WP-Filebase — теперь загружаемые файлы можно группировать по рубрикам.

Администратор

Админ может все!!!

Создание и редактирование ролей пользователей

Что делать, если необходимо расширить функции какой-то роли, наделить ее дополнительными правами? На помощь приходит плагин User Role Editor , который позволяет редактировать права существующих ролей и создавать новые.

Плагин устанавливается стандартно:

  • распакуйте архив в текущую директорию и полученную папку загрузите на сервер в каталок wp-content/plugins, используя ;
  • зайдите в раздел «Плагины» админки WordPress, найдите и активируйте User Role Editor.

Настройки плагина доступны по адресу «Пользователи» — «User Role Editor». Радует, что они польностью на русском языке! В первом поле можно отредактировать права для уже существующих ролей.

Порядок действий таков:

  1. выбираем роль, которую хотим отредактировать;
  2. ставим галочку напротив Показ возможностей в читабельной форме для лучшего восприятия списка доступных функций;
  3. галочками отмечаем нужные права и сохраняем настройки.

Можно добавить новую роль. Для этого воспользуемся одноименной опцией:

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

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

От автора: согласно данным исследования 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-адресу добавит хакерам сложностей при попытке взлома сайта простым перебором.