Créé un filtre sur les emails d’inscription.
Votre blog est remplis d’email d’utilisateurs qui créaient un compte mais ne l’utilisent pas ?
A priori on pourrais penser que votre blogue attire les nuisibles qui tentent d’exploiter une faille interne à votre site.
Nous avons reçu cette requête d’un professionnel :
Notre WordPress reçois des centaines d’inscriptions par jour, ce sont des spammeurs qui pensent pouvoir faire valider leurs commentaires en créant un compte.
Ceci devient problématique.
De plus notre hébergeur nous signale qu’il ne pourra plus gérer tant de mails qui sont pour la plupart inexistant …
Nous proposons deux solutions très Wordpress-Seo.com
- Un patch rapide (2 minutes) ( car WordPress évolue et les anciennes versions ne permettent que ce patch WP <2.1 )
- Un Plugin qui résoudra vos ennuis. (depuis qu’il est possible de crée un Hook sur l’enregistrement WP >= 2.1 : register_post )
A vous d’exploiter nos deux pistes …
Le patch anti-enregistrement d’email russe ou chinois
Pour les WordPress dont la version est inférieure à 2.1 ( nous étions déjà en avance ) …
Ceci n’est pas un plugin WordPress, mais plutôt un patch rapide pour débloquer une situation.
Le patch :
Cherchez dans le fichier includes/registration.php la fonction « wp_insert_user« .
Selon la version de WordPress que vous possédez, vous devez ajouter devant
« $wpdb->insert( $wpdb->users[...] » ce bout de code à adapter selon vos besoins .
Dans cette exemple nous revoyons 0 si les mail finissent par « .ru » ou par « .cn » ce qui provoque une erreur d’inscription géré par WordPress.
/* PATCH ANTI-RU/CN */
$pattern = '/\.ru$/';
$is_found=preg_match($pattern, $user_email);
if($is_found>0){return 0;}
$pattern = '/\.cn$/';
$is_found=preg_match($pattern, $user_email);
if($is_found>0){return 0;}
/* ****************** */
Le patch anti-enregistrement d’email russe ou chinois WP >= 2.1
Depuis la version 2.1 un nouveau Hook est apparu : register_post.
Nous allons donc l’utiliser.
/*
Plugin Name: Filtre email d'enregistrement BETA 0.1
Plugin URI: http://www.wordpress-seo.com
Description: Filtre email d'enregistrement ( configuration manuelle )
Version: 0.1
Author: Wordpress-seo.com
Author URI: http://Wordpress-seo.com
*/
// ---------------------------------------
function registration_filter_get_pattern()
{
$A=array();
// activer selon vos besoins
$A[]='/\.ru$/'; // bannir les RU
$A[]='/\.cn$/'; // bannir les CN
// mode d'emploi : consulter "preg_match"
return $A;
}
// ---------------------------------------
function registration_filter_ban($login, $email, $errors)
{
$is_Banned=0;
$Patterns=registration_filter_get_pattern();
foreach($Patterns as $pat)
{
$is_found=preg_match($pat, $email);
if($is_found>0){$is_Banned++;}
}
// --------------------
if($is_Banned>0)
{
$errors->add('email_banned','<strong>ERROR</strong>: This email address is not allowed, please choose another one.');
}
}
// ---------------------------------------
// hook
add_action('register_post', 'registration_filter_ban', 10, 3);
Si vous n’y arrivez pas, publiez un commentaire …