Eviter le spam : filtrage par domaine de mail pour les inscriptions d'auteurs

suite à la vague d’inscriptions d’auteurs illégitimes avec des mails en @qq.com via le formulaire d’inscription de SPIP, @b_b propose le pipeline suivant pour exclure un domaine de mails :

// bloquer l'inscription des comptes avec un mail en @qq.com
if (!isset($GLOBALS['spip_pipeline']['formulaire_verifier'])) {
	$GLOBALS['spip_pipeline']['formulaire_verifier'] = '';
}
$GLOBALS['spip_pipeline']['formulaire_verifier'] .= "|spam_qq";
function spam_qq($flux) {
	if ($flux['args']['form'] == 'inscription'){
        if (strpos(_request('mail_inscription'), '@qq.com')) {
            $flux['data']['mail_inscription'] = 'spam detected';
        }
    }
    return $flux;
}

Pour plus d’infos sur la mise en place d’un pipeline : https://programmer.spip.net/Declarer-un-nouveau-pipeline

3 « J'aime »

Merci pour le post, ça me fera ça de moins à faire :slight_smile:

Un grand merci pour ce bout de code qui me « sauve » temporairement. En effet si une autre vague recommence avec un autre domaine, il faudra modifier le code. Si vous avez mieux, je suis preneuse.