Варианты ограничения доступа к wp-администратору
Итак, я установил плагин, который позволяет мне включить двухфакторную аутентификацию для моих пользователей. Проблема в том, что для включения плагина мне нужно войти в систему как этот пользователь и включить его через страницу своего профиля (wp-admin).
Это не проблема, за исключением того факта, что ничто не мешает пользователям входить в систему и отключать двухфакторную аутентификацию, что является проблемой.
Я просмотрел несколько проблем, и ни одна из них, похоже, не сработала, по сути, я хочу ограничить доступ к бэкэнду только для немногих избранных (себя и нескольких других).
Я пробовал скрытый вход и несколько решений htaccess, но ни одно из них, похоже, не сработало.
Есть идеи?
3 answers
Вы могли бы сделать его mu-плагином (плагин "Должен использоваться"). Любой PHP-файл, который вы поместите в /wp-контент/mu-плагины/, автоматически будет включен в WordPress. Вы не можете деактивировать плагин (если у вас нет ftp-доступа к серверу). Если вы используете mu-плагин, не забудьте поместить функциональность в подкаталог и загрузить ее с помощью php-файла в каталоге mu-плагинов.
РЕДАКТИРОВАТЬ
Прочитав комментарий, я думаю, что лучше понимаю проблему. Это звучит так, как будто ты хочешь чтобы иметь возможность полностью блокировать людей от администратора. Это не так уж и сложно. Попробуйте это:
function my_awesome_admin_lockout(){
if( is_admin() && !current_user_can( 'manage_options' ) ) {
wp_redirect( home_url() );
die();
}
}
add_action( 'init', 'my_awesome_admin_lockout' );
По сути, это блокирует доступ в административную область для всех, кроме администраторов.
Как насчет того, чтобы отозвать разрешения на запись mysql в таблицу плагина
Любой, кто захочет изменить какое-либо значение, получит сообщение об ошибке.
Если вы хотите обновить - вам нужно снова изменить разрешения, обновить записи, снова запретить разрешения.
Я этого не пробовал. Но это может сработать для вас.
- Ограничить полный доступ к wp-администратору с помощью .htaccess.
- Теперь создайте псевдоним php-файла вне wp-admin или в какой-либо другой папке.
- Включить wp-admin.php или необходимый php-файл в файл псевдонима PHP.
- запретите поисковым системам просматривать папку, содержащую ваш файл псевдонима, с помощью robots.txt