Блокуємо доступ користувачів до зміни пароля
Блокуємо доступ користувачів до зміни пароля. Навіщо це потрібно? Ну наприклад, якщо реєструвати користувачів по інвайтам, самостійно і як варіант захисту сайту від злому. Можна дати можливість міняти будь-які дані, крім пароля, а пароль генерувати самому, щоб він не був простим. Прості паролі нескладно підібрати, це і є один із найпростіших варіантів злому.
Отже подивимося на код майбутнього плагіна:
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.