Combate el spam de tu WordPress

Siempre son pocas las barreras que se tienen instaladas para combatir la gran cantidad de spam que recibimos en WordPress. Necesitamos poner todas las barreras posibles para filtrarlos. Desde ayudawordpres nos amplia una manera más, para combatirlo desde nuestro fichero functions.php en nuestro tema activo.

Añadir este código en el fichero functions.php:

<?php 
function in_comment_post_like($string, $array) {
	foreach($array as $ref) { if(strstr($string, $ref)) { return true; } }
	return false;
}
function drop_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)) {
			$comment_box_text = wordwrap(trim($post_comment_content), 80, "n ", true);
			$txtdrop = fopen(‘/var/log/httpd/wp_post-logger/nullamatix.com-text-area_dropped.txt’, ‘a’);
			fwrite($txtdrop, " ————–n [COMMENT] = " . $post_comment_content . "n ————–n");
			fwrite($txtdrop, " [SOURCE_IP] = " . $_SERVER[‘REMOTE_ADDR’] . " @ " . date("F j, Y, g:i a") . "n");
			fwrite($txtdrop, " [USERAGENT] = " . $_SERVER[‘HTTP_USER_AGENT’] . "n");
			fwrite($txtdrop, " [REFERER ] = " . $_SERVER[‘HTTP_REFERER’] . "n");
			fwrite($txtdrop, " [FILE_NAME] = " . $_SERVER[‘SCRIPT_NAME’] . " – [REQ_URI] = " . $_SERVER[‘REQUEST_URI’] . "n");
			fwrite($txtdrop, ‘————–**********——————‘."n");
			header("HTTP/1.1 406 Not Acceptable");
			header("Status: 406 Not Acceptable");
			header("Connection: Close");
			wp_die( __(‘bang bang.’) );
		}
	}
}
add_action(‘init’, ‘drop_bad_comments’);

?>

En el array $bad_comment_content puedes añadir o quitar palabras y/o espresiones, para personalizar y ajustar tu filtrado de comentarios spam.

Fuente: Ayuda WordPress

Deja el primer comentario