25.10.2020

Уведомление о проверке электронной почты, администратора WordPress

Если вы курируете сеть сайтов WordPress, вам следует принять к сведению подтверждение электронной почты администратора, представленное в WordPress 5.3.

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

Из WordPress 5.3

Как это устроено

Проверка электронной почты администратора — отличная функция, которая поможет обеспечить безопасность сайтов WordPress. По умолчанию каждые шесть месяцев после истечения срока действия предыдущей проверки первый пользователь (с manage_optionsвозможностью) для входа будет видеть экран подтверждения электронной почты администратора.

Затем они могут выбрать либо:

  1. подтвердите адрес электронной почты как действительный,
  2. обновить электронную почту (через Общие настройки на сайте) ,
  3. отложить проверку на три дня или
  4. не предпринимать никаких действий и вернуться на сайт.

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

Настройка проверки

Полностью отключить проверку электронной почты администратора

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

// Disable administration email verification
add_filter( 'admin_email_check_interval', '__return_false' );

Ограничить проверку электронной почты администратора определенным пользователем

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

// Restrict users allowed to verify administration email
add_filter( 'admin_email_check_interval', function( $interval ) {
   if ( in_array( $_POST['log'], array( '{{username}}' ) ) ) {
      return false;
   } else {
      return $interval;
   }
} );

Обязательно замените {{username}}конкретным пользователем, которому следует предоставить подтверждение по электронной почте. Дополнительные пользователи могут быть указаны путем добавления элементов массива. Пользователи, указанные здесь, все еще должны иметь manage_optionsвозможность.

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

Изменить частоту проверки электронной почты администратора

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

// Set the frequency with which WordPress requests administration email verification
add_filter( 'admin_email_check_interval', function( $interval ) {
   return YEAR_IN_SECONDS;
} );

Сброс административной электронной почты при сохранении общих настроек

WordPress сбрасывает срок действия вашей электронной почты администратора только после того, как кто-то предпринял соответствующие действия на экране подтверждения. Следующий фрагмент также сбрасывает срок службы вашей электронной почты администратора, когда любой пользователь имеет сохраненные изменения в общих настройках вашего сайта.

Общие настройки — это место, где находится адрес электронной почты администратора .

// Reset admin email lifespan when saving General Settings
add_action( 'load-options.php', function() {
   add_action( 'admin_action_update', function() {
      if ( strpos( wp_get_referer(), 'options-general.php' ) !== false ) {
         $admin_email_check_interval = (int) apply_filters( 'admin_email_check_interval', 6 * MONTH_IN_SECONDS );
         update_option( 'admin_email_lifespan', time() + $admin_email_check_interval );
      }
   });
});

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

Spread the love

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

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