ldc-sbv/wp-content/mu-plugins/admin-useraccount-security.php
2021-09-21 15:47:06 +02:00

64 lines
1.9 KiB
PHP

<?php
/*
* Plugin Name: Admin Useraccount Security
* Description: Met en place des règles de base afin de protéger les comptes administrateurs.
* Version: 1.1
* Author: Yann Gonidec
* Author URI:
*/
/** Removes the ability for non admin users to change/reset their passwords. */
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();
/** Supprime la class comment-author dans les commentaires pour masquer le login de l'administrateur */
function remove_comment_author_class( $classes ) {
foreach( $classes as $key => $class ) {
if(strstr($class, "comment-author-")) {
unset( $classes[$key]);
}
}
return $classes;
}
add_filter( 'comment_class' , 'remove_comment_author_class');
/** Renvoi un message d'erreur global au niveau du login de l'admin afin de ne pas savoir si c'est le login ou le pwd qui est faux */
function fn_login_errors(){
return 'Login ou mot de passe incorrect';
}
add_filter('login_errors', 'fn_login_errors');
// DEPRECATED -> add_filter('login_errors',create_function('$a', "return 'Login ou mot de passe incorrect';"));
/** Supprime la balise « generator » du flux rss.*/
add_filter('get_the_generator_rss2', '__return_false');
add_filter('get_the_generator_atom', '__return_false');
/** Masque la version de Wordpress dans les sources du site */
remove_action('wp_head', 'wp_generator');
?>