ldc-poule-et-toque/public/app/mu-plugins/admin-useraccount-security.php
2024-01-16 14:46:39 +01:00

89 lines
2.7 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.3
* 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 */
add_filter('login_errors', 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');
// new 16.11.2017
function remove_wp_version_rss() {
return'';
}
add_filter('the_generator','remove_wp_version_rss');
/** new 31.01.2019 - Désactivation des feeds RSS */
function wpb_disable_feed() {
wp_die( __('Aucun flux disponible <a href="'. get_bloginfo('url') .'">retour à l\'accueil</a>.'), "Pas de flux RSS", array('response' => 200) );
}
add_action('do_feed', 'wpb_disable_feed', 1);
add_action('do_feed_rdf', 'wpb_disable_feed', 1);
add_action('do_feed_rss', 'wpb_disable_feed', 1);
add_action('do_feed_rss2', 'wpb_disable_feed', 1);
add_action('do_feed_atom', 'wpb_disable_feed', 1);
add_action('do_feed_rss2_comments', 'wpb_disable_feed', 1);
add_action('do_feed_atom_comments', 'wpb_disable_feed', 1);
/** new 31.01.2019 - Supprime les liens RSS dans le header des pages */
add_action( 'wp_head', 'wpse33072_wp_head', 1 );
function wpse33072_wp_head(){
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );
}
/** Masque la version de Wordpress dans les sources du site */
remove_action('wp_head', 'wp_generator');
?>