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
Pero para tener spam primero necesitas a alguien que te comente. Bien troll mi comentario jajaaj. Curiosamente usas un captcha de sumas debajo.
Creo que por lo seguido que comentaban parecia mas “algo” que “alguien”, y este código realmente funciona. Y eso que el captcha no lo contenia jejeje y no es curiosamente es ironicamente 😉
Me comentaron que los formularios hechos en Modal (light box) no eran encontrados por los robotitos que usan los spammers. Es cierto eso?
Mmmm los formularios ó contenido modal se ejecutan gracias a JavaScript a veces haciendo una petición al servidor para que le sirva dicho formulario meditante un evento. Creo q no puede indexar o encontrar este tipo de contenido. Otra opinion??
estoy iniciando en esto de la programacion web, mis form se validan con javascript y con un simple captcha de sesiones php, funcionaba todo bien pero hace poco una pagina se me ha llenado de spam, veanla en www .ideaschile.cl/4.php no se si el envio sera automatico o qué??
tu capcha no sirve para evitar el spam y tu función tampoco, esto es spam y lo estás recibiendo