Librarse del SPAM en los weblogs

13 de octubre de 2005 Blogs

Después de unos cuantos meses aguantando la avalancha de enlaces sobre casinos, poker, black jack, ruletas, viagra, pills, drugs y demás porquería inundando los comentarios de este weblog, por fin he incluido un filtro de palabras prohibidas.

La verdad es que no es nada complicado. Si no lo he hecho antes ha sido por pura perrería (el mismo motivo por el que este año hay tan pocos posts). Pero bueno, hay que ponerse las pilas y el primer paso era acabar con el SPAM asqueroso.

Por si alguien con weblog programado ‘a mano’ en ASP o PHP está pensando en la mejor manera de filtrar estos indeseados mensajes, he pensado en compartir el modo en que lo he programado para DavidSite.

Lo ideal es tener una tabla en la base de datos con las palabras ‘prohibidas’, es decir, las que una vez detectadas en el remitente del comentario, bloquearán la publicación del mismo. De este modo, esta lista de palabras puede actualizarse fácilmente mediante una panel de control si aparecen nuevos términos sospechosos.

En mi caso, antes de guardar un comentario en la base de datos, compruebo con una sentencia SQL sencilla si alguna de las palabras prohibidas listadas en la tabla está presente en la URL del comentario (si es SPAM siempre hay URL):

SELECT * FROM Tabla_Palabras_Prohibidas 
WHERE (((InStr(1, [URL_a_Filtrar], [Nombre_Campo], 1)) <> FALSE))

Finalmente, sólo hay que pemitir la inserción del comentario si el resultado de esa consulta no genera ningún registro, es decir, si la URL del remitente está completamente limpia.

Hoy es el primer día que lo pruebo y por el momento va de maravilla, ya que normalmente me encuentro unas cuantas decenas de mensajes de SPAM al día.


Fatal error: Cannot use object of type stdClass as array in /homepages/35/d378790237/htdocs/davidsite.com/wp-content/plugins/social-counters/counters/facebook.php on line 56