Bienvenidos - Abierto registro y Login a usuarios

Adiós a los spammers en foros phpBB

Dedicado al software y los recursos astronómicos existentes en la red.
Cuelga aquí el enlace de tu página web.
Post Reply
juan_conejero
Asiduo
Asiduo
Posts: 103
Joined: Sun Jun 18, 2006 12:07 am
Location: Valencia
Adiós a los spammers en foros phpBB

Post by juan_conejero » Mon Nov 27, 2006 4:24 pm

Creo que esta información puede ser de gran interés para los administradores de foros públicos phpBB.

Seguro que todos nosotros estamos hartos de tener que soportar a los spammers que se dan de alta masivamente en nuestros foros, y que tenemos que eliminar manualmente cada día. En nuestro caso, la situación era ya insoportable con más de 30 spammers diarios, que plagaban nuestro foro con enlaces a sitios cada vez más repugnantes (incluyendo pornografía infantil, que es lo que nos ha hecho decidirnos a dar una solución a este problema de una vez).

El problema de phpBB es que cualquier nuevo usuario, aunque su cuenta no haya sido activada por el administrador, aparece en el listado de usuarios del foro y en la sección "Quién está en Línea / Who is Online" de la página principal, como último usuario registrado.

Bien, pues nuestra solución ha sido modificar el código fuente php del foro (phpBB es código abierto como sabéis), y nuestra sorpresa ha sido grande al ver que la solución es mucho más sencilla de lo que esperábamos.

Sólo hay que modificar dos archivos fuente:

memberlist.php

Línea 145: sustituir por:

Code: Select all

$sql = "SELECT user_active, username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar 


Línea 159: insertar:

Code: Select all

if ( $row['user_active'] )
{


Línea 270: insertar:

Code: Select all

}


includes/functions.php

Línea 40: sustituir por:

Code: Select all

ORDER BY user_active DESC, user_id DESC


Eso es todo. Con estas modificaciones, sólo los usuarios activos aparecen, tanto en el listado de miembros como en la página principal. A partir de aquí, para eliminar a los spammers basta con acceder al servicio MySQL de nuestro servidor. Por supuesto, en la configuración del foro hay que seleccionar "activación de cuentas de usuario" a cargo del administrador del foro (Enable account activation = Admin). Bye bye, spammers :D

Espero que os resulte útil. Un saludo.




Post Reply