O recuncho de Suso

Propuesta para el spam en Wordpress

, Viernes 4 de Febrero de 2005, 12:57

Aún no he sufrido los ataques de trackback-spam en mi weblog, como les ha pasado a Guille y a Chema, pero se me ha ocurrido un método simple para evitarlo. Yo no he podido probarlo todavía porque no he recibido ningún spam de ese tipo.

La idea sería:

  • Renombrar el fichero wp-trackback.php, y cambiar la regla de escritura de apache en el .htaccess, tanto la referencia a ese fichero como el subdirectorio /trackback/ (ponerlo por ejemplo a /trackback2/) . Esto es para evitar a los robots torpes que acceden directamente al fichero para hacer el trackback, en vez de lo más normal que es analizar la página para averiguar cuál es el URI de acceso.
  • Para los que sí que analizan la página, la solución podría ser hacer lo mismo que con las direcciones de e-mail para evitar ser reconocidas por los robots de spam (p.ej. john_at_smith_dot_com). Puesto que los URIs tienen que ser copiados y pegados por un usuario humano, no tendrá ningún problema para reconocer esas modificaciones y recomponer el URI correcto (partiendo de que quien añade el trackback es el principal interesado, por lo que no le importará tener que hacer un pequeño sobreesfuerzo)

Se me ocurren muchas opciones, incluso dar instrucciones de palabra sobre cómo componer el URI (p.ej “separa por una barra los componentes 2005, 02, 04, articulo, trackback"). Una forma sencilla es sustituir ‘/’ por ‘_barra_’, para lo cual hay que editar el fichero wp-includes/template-functions-comment.php, y en la función trackback_url, añadir antes de “if ($display) {":

$tb_url = str_replace("/","_barra_","$tb_url");
$tb_url = str_replace("trackback","trackback2","$tb_url");

(La segunda línea es necesaria para que informe del URI correcto, puesto que más arriba habíamos renombrado la regla de reescritura de /trackback/ a /trackback2/)

Yo no lo he probado todavía porque quiero esperar primero a recibir spam para comprobar su efectividad, así que agradecería comentarios si alguien lo prueba ;)