Pero una cosita esta funcion
function limpiar_tags($tags){
$tags = strip_tags($tags);
$tags = stripslashes($tags);
$tags = htmlentities($tags);
return $tags;
}
es mas para prevenir que inyecten codigo malicioso etiquetas javascript etc .. . retira etiquetas , convierte caracteres etc... pero no te salva de publicidad
si te insertan publicidad sin ningun tipo de codigo este se te guardara igualmente para eso tienes que poner un filtro antispam por ejemplo algo sencillo
Código PHP:
Ver originalfunction limpiar_tags($tags){
return $tags;
}
function antispam($var){
'1' => 'Gratis',
'2' => 'Gane' ,
'3' => 'dinero',
'4' => 'Ahorre',
'5' => 'ventas',
'6' => 'Sexo',
'7' => 'Promocion',
'8' => 'cobro',
'9' => 'Compre',
'10' => 'llame',
'11' => 'Viagra'
);
foreach ($palabras as $val )
{
{
return true;
}
}
return false;
}
// buscaremos en cualquier variable que queramos si existe alguna palabra de la lista
// verificamos usando la funcion y limpiamos los datos $_POST, todos.
$mensaje = limpiar_tags($_POST['mensaje']);
$author= limpiar_tags($_POST['author']);
if( antispam($mensaje) !== true and antispam($author) !== true)
{
// el comentario paso el flitro procedemos a guardarlo en la bd con la variable $mensaje, $author etc...... no uses los datos $_POST
}
else
{
// se detecto spam por lo cual no guardamos el mensaje
// redireccionamos por ejemplo
// header('location:index.php');
exit('comentario calificado como spam');
}
segun vayas detectando anuncios que pasen el filtro , añades palabras de dicho anuncio a la lista y asi detectas mas spam aun.
espero que te sirva.