El contenido cambia a menudo, las direcciones de correo electrónico y las IP también, por lo que bloquear reduce la cantidad, pero aún no hemos encontrado una solución real. Por razones de privacidad, no queremos enviar todo a Akisment.
De tu captura de pantalla, intentaría añadir estas palabras:
efectivo
crédito
dinero
préstamo
sin cargo
atención al cliente
número de atención
0779*
línea de ayuda
:point_left:
Puede ser un poco inconveniente para los usuarios, pero hago que Discourse envíe un webhook a una función de Firebase cloud (gratuita) que notifica a mi teléfono en una sala de chat de Slack, por lo que a menudo puedo aprobar publicaciones en moderación en 60 segundos desde mi teléfono, si estoy despierto.
Gracias por la pista, pero por favor revisa https://ask.learncbse.in/ (no es mi instancia, pero las publicaciones son más o menos las mismas contra las que estoy luchando) y desplázate por los últimos días, están usando una tonelada de combinaciones y variaciones de cada palabra clave. Estoy en el proceso de crear un montón de expresiones regulares para cada palabra clave porque están agregando en todas partes un “.”, una “,”, un “|”, reemplazando un “0” por una “O”, una “e” por un “3”, agregando en medio de la palabra un (hasta ahora) carácter aleatorio, etc., etc. … es realmente difícil luchar contra este tipo de spam.
O si no quieres hacer clic en un enlace aleatorio, aquí tienes una captura de pantalla de las últimas horas, pero estas son solo las últimas horas, varían mucho con el tiempo:
Solo para comprobar, ¿utilizas la configuración de administrador min first post typing time? Me parece bastante útil para detectar muchos de los nuestros.
Gracias por el consejo, pero configurar un LLM solo para luchar contra otro LLM de spam para nuestro discurso es demasiado caro para nuestro caso de uso.
Como spammer, puedes aumentar fácilmente el costo para la organización simplemente creando más usuarios/publicaciones, por lo que dependiendo de lo que quieras archivar, ¡esto también podría ser una motivación para crear aún más publicaciones!
¿Quizás exigir que la primera publicación de cada usuario sea aprobada ayudaría un poco aquí? De esa manera, al menos nunca llegarían al foro públicamente, y mientras no tengas muchos usuarios reales registrándose diariamente, creo que ayudaría al menos un poco.
Lo pensamos, pero tenemos un producto de privacidad y seguridad que significa que necesitamos proteger a nuestros usuarios tanto como sea posible. El contenido es público, seguro, pero no la dirección IP/Agente/Referente/Correo electrónico si entendí correctamente Discourse Akismet, se transmite a Akismet (seguro que también leería la política de privacidad, pero la descripción general ya es suficiente información para la decisión).
Esa sería una idea. Con ~2 registros por día no debería ser demasiado problema, pero no es la mejor experiencia esperar una aprobación, pero si lo explicamos correctamente podría ser la mejor opción que tenemos por ahora.
Sí, lamentablemente tienes razón: transmiten algunos datos adicionales a Akismet que pueden no alinearse con tu política de privacidad. En ese caso, la sugerencia de @Firepup650 es la mejor que existe.
Para tu información, mi Geo Blocking plugin puede denegar el acceso a Discourse según la red AS de origen. De hecho, gran parte de este tipo de spam parece originarse en esas redes, especialmente en AS45609.
Si no quieres bloquear a la mitad de la India, podría valer la pena investigar qué tan difícil sería reutilizar parte de la funcionalidad de ese plugin para agregar reglas basadas en red o IP a la lógica de aprobación (“requerir aprobación para nuevas publicaciones de redes”).
He revisado muchas páginas en ese sitio de ejemplo y creo que podría ser posible bloquear casi todas esas con la función de palabras vigiladas, si la expresión regular de Discourse puede funcionar en rangos Unicode.
Los usuarios normales probablemente no usan cosas como estas:
2 barras seguidas
puntuación inusual como ^ (a menos que sea un sitio de matemáticas)
rangos Unicode poco comunes:
✓ (Símbolos misceláneos)
∆ (Griego y copto)
❽, ➁, ❸, 3, ❷ (Dingbats)
𝘾, 𝙪, 𝙨, 𝙩 (Símbolos alfanuméricos matemáticos)
ChatGPT probablemente podría escribir una expresión regular para eso, si Discourse la soporta.
Una idea más es probar Cloudflare con la función Bot Fight Mode (gratuita) y desafiar a todos los bots.
¡Ouh, esa sería la solución perfecta, echaré un vistazo al código, gracias!
El problema aquí es que este bot de alguna manera sabe cómo funciona Discourse: En el siguiente escenario, estoy vigilando ❽ en la sección “Requerir para Aprobación”. El problema ahora es que esos bots a menudo crean primero un texto aleatorio y luego lo editan al contenido real. La edición de una publicación no se verifica contra la lista de “Requerir para Aprobación”, véase, por ejemplo:
(aquí añadí el ❽ directamente durante la creación de la publicación)
lo que significa que nuestra única opción es añadirlo a la sección de bloqueo, pero bloquear demasiadas palabras y caracteres puede llevar fácilmente a problemas en los que los usuarios normales reciben un mensaje confuso al crear publicaciones válidas. Creo que aquí es donde provienen la mayoría de nuestros problemas. En mi opinión, esto es un error, y también al editar una publicación, la lista “Requerir Aprobación” debería ser verificada contra el contenido editado cuando se publica el cambio.
Supongo que las palabras vigiladas no ayudarán entonces. Todavía no he tenido un ataque de spam de eso, pero me preocupa porque los usuarios empezaron a darse cuenta.
Parece que uno de mis foros acaba de sufrir el mismo tipo de ataque de spam. No sé si usaron el truco de edición, ya que aún no tenía las palabras de spam en la lista de palabras vigiladas.
Tu último PR rompió el plugin; ahora pide a todos que confirmen sus publicaciones a través de moderación (incluso a los propios moderadores) independientemente de su ubicación geográfica. ¿Alguna solución alternativa o fecha estimada para la corrección?