Filtrer les commentaires spam avec une liste de mots clés

Les spammeurs utilisent généralement des mots clés spécifiques, il est possible de créer une liste noire de ses mots clés pour marquer automatiquement les commentaires comme spam qui contiendrait un ou plusieurs mots clés.

Pour ajouter des mots clés, il suffit de modifier la ligne 9, ensuite ajoutés le code dans votre fichier function.php de votre Thème WordPress.

function in_comment_post_like($string, $array) { 
	foreach($array as $ref) { if(strstr($string, $ref)) { return true; } } 
	return false;
}
function spam_bad_comments() {
	if (!empty($_POST['comment'])) {
		$post_comment_content = $_POST['comment'];
		$lower_case_comment = strtolower($_POST['comment']);
		$bad_comment_content = array(
			'viagra', 
			'hydrocodone',
			'hair loss',
			'[url=http', 
			'[link=http', 
			'xanax',
			'tramadol',
			'russian girls',
			'russian brides',
			'lorazepam',
			'adderall',
			'dexadrine',
			'no prescription',
			'oxycontin',
			'without a prescription',
			'sex pics',
			'family incest',
			'online casinos',
			'online dating',
			'cialis',
			'best forex',
			'amoxicillin'
		);
		if (in_comment_post_like($lower_case_comment, $bad_comment_content)) {
			header("HTTP/1.1 406 Not Acceptable");
			header("Status: 406 Not Acceptable");
			header("Connection: Close");
			wp_die( __('Pas de Spam sur ce site ....') );
		}
	}
}
add_action('init', 'spam_bad_comments');