¿Cómo prevenir una avalancha de bots de spam en nuestro foro?

Soy moderador de un foro en línea de tamaño mediano con más de 10.000 usuarios. Anoche, sufrimos un grave ataque de spam con varios bots publicando números de teléfono de soporte falsos para diversas aerolíneas, empresas de viajes y algunas otras compañías.

Todas estas cuentas parecen publicar números de teléfono a través de una variedad de métodos diferentes (todos estadounidenses, pero usan varios caracteres distintos en lugar del guion típico para separar los números). Vi una publicación aquí anoche que filtraba números de teléfono, pero el problema es que marcaría falsamente códigos de error que aparecen en nuestro servicio (lo cual es crucial considerando que nuestro propósito principal es un foro de soporte) y también marcaría otras cosas como identificadores de Fediverso.

Además, cosas como Akismet parecen estar fuera de nuestro alcance considerando que el foro es operado por una LLC registrada en los EE. UU., pero actualmente estamos financiados puramente por donaciones y pagar por algo así parece un poco inviable.

Tenemos una idea para una opción nuclear, pero me opongo firmemente en este momento dado que excluiría a algunos miembros de nuestra base de usuarios y también creo que restringiría el acceso al soporte hasta cierto punto personalmente.

¡Gracias de antemano!

1 me gusta

Este tipo de spam se ha vuelto muy común últimamente, tenemos una guía para la prevención general de spam aquí:

En las respuestas hubo una publicación útil sobre una expresión regular que se puede usar para bloquear o marcar números de teléfono y direcciones de correo electrónico utilizando la función de palabras vigiladas

3 Me gusta

Sí, esa fue la expresión regular en particular que intenté, desafortunadamente filtró algunos identificadores de ActivityPub y códigos de error que tenemos en nuestro servicio (que normalmente se muestran como 123-4567).

1 me gusta

Ah, ya veo, quizás podamos encontrar algo más específico que evite códigos más cortos… quizás:

\b\d{3}[-.\s]\d{3}[-.\s]\d{4}\b

Esto capturará formatos como 1-800-123-4567, 123 456 7890

Si es más como +1 123 456 7890, esto podría funcionar mejor para capturar específicamente el +1

\+1[-.\s]\d{3}[-.\s]\d{3}[-.\s]\d{4}

Ninguno de estos obtendrá falsos positivos para códigos más cortos como 123-4567

5 Me gusta