Tengo un sitio del foro en idioma inglés escrito en perl que está continuamente bombardeado con spam en ruso. ¿Hay alguna manera de usar Perl y regex para detectar texto en ruso para poder bloquearlo?¿Cómo puedo detectar mensajes de correo no deseado en ruso con Perl?
Respuesta
Se puede utilizar el siguiente para detectar Cyrillic caracteres (utilizado en ruso):
[\u0400-\u04FF]+
Si realmente quiere caracteres rusos, se puede echar un vistazo en el citado documento, que contiene el rango exacto utilizado para el alfabeto ruso básico que es [\u0410-\u044F]
. Por supuesto, también necesitaría considerar los caracteres cirílicos de extensión que se usan exclusivamente en ruso, también mencionados en el documento.
usando el juego de caracteres cirílicos unicode como lo sugiere JG está bien si todo está codificado como tal. sin embargo, esto es correo no deseado y, en su mayor parte, las cosas no lo son. Además, los remitentes de correo no deseado muy a menudo utilizarán una combinación de conjuntos de caracteres en spams, lo que complica aún más este enfoque.
Me parece que la mejor manera (o al menos la etapa preliminar en el proceso) para detectar ruso spam es a grep para los juegos de caracteres utilizados más comúnmente:
koi8-r
windows-1251
iso-8859-5
siguiente paso después de eso sería para tratar algunos algoritmos de detección de lenguaje en lo que queda. si es un problema lo suficientemente grande, use un servicio pago como google translate (que también "detecta") o xerox. estos servicios proporcionan a IMO la mejor detección de idiomas.
Entiendo su punto, pero dado que es un foro en inglés, detectar si una publicación contiene caracteres cirílicos puede ser suficiente para determinar si se trata de correo no deseado. –
hmmm, yo * estaba * pensando que el póster original hablaba de spam de correo electrónico ... si ese no es el caso, y el correo no deseado se ingresa a través del sitio mismo (por ejemplo, en un foro), entonces estaría de acuerdo con lo que eres diciendo. –
- 1. Comprobación de correo no deseado en rieles
- 2. ¿Cómo puedo reducir el puntaje de correo no deseado de mi mensaje de correo electrónico?
- 3. ¿Cómo puedo detener el correo no deseado en mi foro/blog personalizado?
- 4. Captcha no puede evitar el envío de correo no deseado
- 5. ¿Eres humano? (o Cómo evitar el correo no deseado)
- 6. regexp con lang ruso
- 7. Principios sobre cómo enviar un correo masivo sin que termine en correo no deseado
- 8. Correo electrónico de C# a Gmail marcada como correo no deseado, pero del cliente de Thunderbird se entregan normalmente (sin correo no deseado)
- 9. ¿Cómo puedo detectar el sistema operativo en Perl?
- 10. Gmail está filtrando el correo electrónico de mi aplicación web como correo no deseado
- 11. Demasiadas importaciones enviando correo no deseado a mi código
- 12. Detener Resharper de la ventana de salida de correo no deseado
- 13. ¿Pueden los encabezados de correo electrónico personalizados activar filtros de correo no deseado?
- 14. Cómo eliminar (texto deseado), eliminar (texto no deseado) y pegar (texto deseado) en Vim
- 15. postgres silenciadores registrar correo no deseado en los carriles 3 logs
- 16. función de correo php: correos legítimos marcados como correo no deseado por gmail y hotmail
- 17. Paquete TCP RST no deseado con Scapy
- 18. ¿Cómo puedo detectar caracteres no occidentales?
- 19. Django no enviar mensajes de correo electrónico a los administradores
- 20. Incluir en la lista de correo electrónico del sitio web para que no se rechace como correo no deseado
- 21. ¿Cómo proteger la parte 'pública' de un servicio REST del correo no deseado?
- 22. Comportamiento no deseado de dict.fromkeys
- 23. Localización para ruso en Android
- 24. ¿Cómo puedo detectar cambios en% ENV?
- 25. SQLite no deseado insertado en \ bin
- 26. En CodeIgniter, ¿cómo puedo enviar mensajes de error de PHP por correo electrónico?
- 27. javascript en correo electrónico no deseado; ¿Qué está tratando de hacer?
- 28. ¿Cómo evitar que Gmail marque los correos enviados por mi aplicación web como correo no deseado?
- 29. ¿Cómo puedo enviar correos a través de Gmail con Perl?
- 30. Widget en una QTabBar con marco no deseado
Para detectar el ruso, deberá buscar las palabras que solo se usan en el idioma ruso. ¿O solo quieres probar letras cirílicas? – Gumbo
if ($ text ~ =/vodka /) {$ language = "ru"; } – tunnuz
@Gumbo simplemente detectando cirílico es lo suficientemente bueno ya que el foro está en inglés de todos modos. –