Inicio Desarrollo Web Evitar el contenido no deseado con PHP … y sin captcha

Evitar el contenido no deseado con PHP … y sin captcha

El spam ha hecho que el envio de datos a través de los formularios sean muy restrictivos, con captcha’s y otros métodos que quitan un poco nuestro tiempo. Claro ahora hay muchos métodos y plugin para evitar el spam. Pero si incluso eso es tedioso, podemos hacer uso de nuestro lenguaje de servidor PHP para realizar una función que mantendrá el contenido no deseado bien lejos, al menos por un tiempo.

Un aporte a todos ellos que no desean usar plugins de terceros.

<?php
function spam($txt) {

	$txt = strtolower($txt);
	$spamWords = array ('[/url]', 
		'groseria', 'inmoral', 'mediocrida', 'lammer', 'spam', 'ugly');

	$spamCount = 0;
	foreach ( $spamWords as $spamWord ) {
		$spamCount = $spamCount + substr_count($txt, $spamWord);
	}
	
	return $spamCount;

}
?>

La función busca, por decirlo así, las palabras del array $spamWords dentro del contenido del mensaje y las va contando. En el array $spamWords podemos agregar otras palabras más que son propias de los mensajes no deseados, spam. Para usar la función bastará el siguiente código:

<?php
if ( spam($_POST['comentario']) >= 10 ) {
	echo "El mensaje contiene contenido no deseado. A cuarentena!!";
	exit();
}
?>

Si la función a encontrado mas de 10 palabras (esto se puede modificar a la cantidad deseada) entonces el mensaje es spam. Muy útil la función.

Gracias PabloImpallari

Programador y Desarrollador Web. Administrador de RibosoMatic y Proyecto Yupy. Blogger y entusiasta de la tecnología, internet, software y tutoriales para desarrollo de aplicaciones para la web ....