Задавайте вопросы по курсам WordPress

Блокируем доступ пользователей к смене пароля

Блокируем доступ пользователей к смене пароля. Зачем это нужно? Ну например если регистрировать пользователей по инвайтам, самостоятельно и как вариант защиты сайта от взлома. Можно дать возможность менять любые данные, кроме пароля, а пароль генерировать самому чтобы он не был простым. Простые пароли несложно подобрать, это и есть один из простейших вариантов взлома.

Итак посмотрим на код будущего плагина:

/*
 * 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. Плагин помогает защититься от ввода простых паролей.
Удачи в разработке и развитии ваших проектов.


Купить хостинг WordPress
Репетитор по wordpress
Услуги репетитора онлайн. Список курсов которые я веду
  • Базовый курс по веб-дизайну;
  • Верстка сайтов;
  • Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
  • Разработка сайтов на PHP.
Подробнее читайте на странице репетитор по WordPress
*/

Николаенко Максим

Директор веб-студии ProGrafika. Занимаюсь разработкой, дизайном и продвижением веб-сайтов. Всегда рад новым читателям блога и хорошим клиентам.


Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Шаблоны для WordPress
Самый лучший хостинг в Украине
Стабильный хостинг для Drupal