Ajoutez un gros point sécurité facilement avec cette astuce

Après le WordCamp Paris 2014, je reviens pour vous partagez une astuce basée sur le fait de forcer des options sur certaines valeurs, certaines pourraient devenir malicieuses :

Forcer une adresse email admin

En forçant cette valeur avec une adresse email en dur, vous vous assurez de toujours recevoir les mails important en relation avec WordPress.

Forcer la non inscription sur le blog

Dans la même idée, si j'ai laissé cette option décochée c'est que mon site n'a pas pour vocation à accepter l'inscription de membres.

Forcer le rôle par défaut sur Abonné

Franchement, entre nous, qui va mettre "Adminitrateur" ? Je ne comprends même pas que ce choix soit possible? Je le force donc à "Abonné" et si je veux qu'un de mes abonnés soit Administrateur, j'irais le mettre manuellement.

Pour tout ça, un simple code de 3 hooks :

Copiez/collez ce code dans un fichier php de votre création, et déposez le dans le dossier "/wp-content/mu-plugins", créez le s'il n'existe pas encore. N'oubliez pas de modifier le mail dans le code.

<?php
/*
Plugin Name: Forcer des valeurs absolues par sécurité
Author: Julio Potier
AuthorURI: http://boiteaweb.fr
*/

// Forcer l'adresse email admin
add_filter( 'option_admin_email', '_option_admin_email' );
function _option_admin_email( $value ) {
	return 'votre@email.fr'; // valeur à modifier
}

// Forcer l'impossibilité de s'inscrire
add_filter( 'pre_option_users_can_register', '_option_users_can_register' );
function _option_users_can_register( $value ) {
    return '0';
}

// Forcer le rôle par défaut sur "Abonné"
add_filter( 'pre_option_default_role', 'baw_option_default_role' );
function baw_option_default_role( $value ) {
    return 'subscriber';
}

Malicieuses, comment ?

Et si par exemple vous ou vos clients avaient un thème qui contient une faille de sécurité permettant de modifier n'importe quelle option WordPress (du déjà vu, souvent). Le hacker parvient alors à modifier la coche, le rôle et le mail.

Il ne lui reste qu'à s'inscrire, il sera donc Admin et c'est lui qui recevra le mail de création d'un nouvel utilisateur... ouille.

Je compte sur vous pour mettre cette astuce en place !

Share!

Commentaires

  1. Excellentes astuces !
    Par contre, le dossier doit s’appeler mu-plugins et non muplugins comme tu l’as écris dans l’article ;)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser le tag [php][/php] pour ajouter quelques lignes de PHP, si c'est un pavé, merci d'utiliser service comme pastebin.com.