Блокируем доступ пользователей к смене пароля
Блокируем доступ пользователей к смене пароля. Зачем это нужно? Ну например если регистрировать пользователей по инвайтам, самостоятельно и как вариант защиты сайта от взлома. Можно дать возможность менять любые данные, кроме пароля, а пароль генерировать самому чтобы он не был простым. Простые пароли несложно подобрать, это и есть один из простейших вариантов взлома.
Итак посмотрим на код будущего плагина:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
/* * Plugin Name: Password Reset Removed * Description: Removes the ability for non admin users to change/reset their passwords. * Version: 1.0 * Author: Derek Herman * Author URI: https://valendesigns.com */ class Password_Reset_Removed { function __construct() { add_filter( 'show_password_fields', array( $this, 'disable' ) ); add_filter( 'allow_password_reset', array( $this, 'disable' ) ); add_filter( 'gettext', array( $this, 'remove' ) ); } function disable() { if ( is_admin() ) { $userdata = wp_get_current_user(); $user = new WP_User($userdata--->ID); if ( !empty( $user->roles ) && is_array( $user->roles ) && $user->roles[0] == 'administrator' ) return true; } return false; } function remove($text) { return str_replace( array('Lost your password?', 'Lost your password'), '', trim($text, '?') ); } } $pass_reset_removed = new Password_Reset_Removed(); |
Плагин можно скачать на github
После активации плагина у простых пользователей напрочь пропадут поля смены пароля, что нам и требовалось.
Представленный выше код отлично работает с плагином Force Strong Passwords WordPress. Плагин помогает защититься от ввода простых паролей.
Удачи в разработке и развитии ваших проектов.

/*

- Базовый курс по веб-дизайну;
- Верстка сайтов;
- Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
- Разработка сайтов на PHP.