Saltearse al contenido

API de Filtro de Spam

El Filtro de Spam de ALTCHA es una característica única de detección de spam que le permite clasificar texto y otra información, lo que le permite filtrar el spam e identificar mensajes legítimos. Funciona analizando información textual y otros datos, evaluando varios factores para proporcionar una puntuación numérica que indica si el mensaje parece legítimo o es probable que sea spam.

El Filtro de Spam utiliza procesamiento de lenguaje natural y aprendizaje automático para analizar datos de manera rápida y confiable. Para obtener resultados óptimos, se recomienda utilizar idiomas con soporte completo: holandés, inglés, francés, alemán, italiano, español y portugués. Si bien también se pueden analizar otros idiomas, algunos factores de puntuación pueden no estar disponibles.

La privacidad y la conformidad con el GDPR son fundamentales para todos los servicios de ALTCHA. El Filtro de Spam respeta la privacidad del usuario y garantiza el cumplimiento del GDPR para proteger tanto a usted como a sus clientes. Obtenga más información sobre consideraciones de privacidad.

Casos de uso

  • Detección completa de spam: Detecte de manera rápida y confiable el spam enviado a través de formularios en línea o APIs mediante el análisis de texto y validando factores como direcciones de correo electrónico y direcciones IP.
  • Validación de direcciones de correo electrónico: Detecte direcciones de correo electrónico falsas o sospechosas y distinga entre correos electrónicos “gratuitos” y “laborales”.
  • Validación de direcciones IP: Identifique si una dirección IP está asociada con un centro de datos, un proxy o una salida de TOR, y verifique su actividad maliciosa en listas de bloqueo.
  • Firewall de seguridad: Proteja contra intentos comunes de inyección HTML y SQL en texto, y también identifique atacantes conocidos a través de extensas listas de bloqueo.
  • Detección de idiomas: Detecte automáticamente hasta 160 idiomas a partir del texto proporcionado.
  • Geo-localización: Detecte de manera confiable la geo-localización del usuario, idiomas comúnmente hablados, monedas y otra información a partir de direcciones IP o husos horarios del usuario.
  • Geo-cercado: Bloquee efectivamente ciertos países, regiones o continentes para acceder o utilizar su sitio web o APIs.

¡Pruébalo!

Prueba el API del Filtro de Spam con tu propia entrada utilizando el formulario a continuación.

Filtro de Spam de ALTCHA

Prueba el Filtro de Spam por ti mismo enviando el formulario con tu propia entrada.

  • Utiliza diferentes idiomas
  • Incluye palabrotas o palabras comunes de spam
  • Utiliza una dirección de correo electrónico real y una que parezca falsa
  • Explora algunas de las reglas de texto admitidas
Al enviar el formulario, aceptas y aceptas nuestra política de privacidad. Tu dirección IP y ubicación geográfica se detectarán automáticamente.

Autorización

El acceso al API requiere una clave de API. Consulte la documentación de autorización del API para obtener más información.

Uso con el Widget

Si está utilizando el widget de ALTCHA como protección Captcha, integrar el Filtro de Spam directamente en su sitio web es sencillo. El formulario se clasificará durante la verificación de ALTCHA, antes de que los datos lleguen a su servidor.

Para utilizar el Filtro de Spam, agregue el atributo spamfilter al widget (se requiere la versión 0.3+):

<altcha-widget
challengeurl="https://eu.altcha.org/api/v1/challenge?apiKey=ckey_..."
spamfilter
></altcha-widget>

Para obtener más información y cambios de servidor necesarios, consulte la documentación.

Clasificación de texto

El API de Filtro de Spam analiza el texto proporcionado, buscando patrones comunes vistos en spam. Califica varios factores y proporciona una puntuación acumulativa que indica la calidad del texto.

Puede proporcionar información valiosa sobre el texto:

  • Detección de idioma
  • Evaluación general del sentimiento
  • Identificación de palabras de spam y palabrotas
  • Detección de URL
  • Detección de inyecciones HTML y JavaScript perjudiciales
  • Identificación de posibles inyecciones de SQL

Consulte las reglas de texto para obtener más detalles.

Verificación de correo electrónico

El API puede verificar direcciones de correo electrónico, comprobando su legitimidad. Una puntuación más alta indica una dirección de correo electrónico sospechosa o falsa.

  • Comprobación de registros DNS
  • Detección de proveedores de correo electrónico gratuitos
  • Verificación de listas de bloqueo para spammers conocidos

Consulte las reglas de correo electrónico para obtener más detalles.

Verificación de dirección IP

Verificar las direcciones IP de los usuarios es crucial para detectar abusos. El API identifica proxies, salidas de TOR, centros de datos e IP maliciosas conocidas.

  • Detección de geo-localización
  • Geo-cercado
  • Identificación de centros de datos, proxies, VPN y salidas de TOR
  • Verificación de listas de bloqueo para actores maliciosos conocidos

Consulte las reglas de dirección IP para obtener más detalles.

Verificación de huso horario

La detección del huso horario del usuario a través del navegador proporciona información de geo-localización confiable. El API resuelve los husos horarios a países específicos.

  • Detección de geo-localización
  • Geo-cercado

Consulte las reglas de huso horario para obtener más detalles.

Puede recuperar el huso horario IANA de un usuario utilizando el siguiente código JavaScript:

const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;

Punto final del API

Referencia del API

Para clasificar sus datos, utilice el punto final /api/v1/classify:

POST https://eu.altcha.org/api/v1/classify?apiKey=ckey_...
Content-Type: application/json
Referer: https://example.com/
{
"text": "To spam or not to spam, that is the question."
}

Solicitud

Para usar el API, envíe un cuerpo codificado en JSON en el siguiente formato:

{
"email": "@gmail.com",
"ipAddress": "auto",
"text": "Tu texto aquí...",
"timeZone": "Europe/London"
}

Todas las propiedades de solicitud son opcionales:

  • blockedCountries - Una matriz de códigos de país (ISO 3166 alfa-2) que desea bloquear.
  • classifier - Forzar un clasificador específico. Clasificadores soportados: cs, en, de, es, fr, it, nl, pt.
  • disableRules - Una matriz de reglas para deshabilitar. Por ejemplo, ["text.EMOJI"].
  • email - Una dirección de correo electrónico para verificar. Para respetar la privacidad del usuario, envíe solo @<dominio>.
  • expectedCountries - Una matriz de códigos de país (ISO 3166 alpha-2) de los que se espera que sea el usuario.
  • expectedLanguages - Una matriz de códigos de idioma (ISO 639 alpha-2) en los que se espera que esté escrito el texto.
  • fields - Envíe campos de texto como un objeto clave-valor. Puede usarse en lugar de text (la propiedad text tiene prioridad).
  • ipAddress - La dirección IP del usuario. Use auto para usar la IP del llamante. Se admiten tanto IPv4 como IPv6.
  • text - El texto a clasificar. También se puede enviar una matriz de cadenas.
  • timeZone - La zona horaria del usuario en formato IANA, proporcionada por el navegador.

Respuesta

El API responde con una clasificación codificada en JSON de sus datos:

{
"classification": "GOOD",
"country": {
"code": "gb",
"name": "United Kingdom",
"native": "United Kingdom",
"phone": [
44
],
"continent": "eu",
"capital": "London",
"currency": [
"GBP"
],
"languages": [
"en"
]
},
"ipAddress": {
"city": "London",
"country": "gb",
"ipAddress": "10.0.0.1",
"rules": { ... },
"score": 0.5,
"zip": null
},
"reasons": [
"ipAddress.PROXY"
],
"score": 0.5,
"text": {
"classifier": "en",
"detectedLanguage": "en",
"rules": { ... },
"score": 0
}
}

El resultado se determina por propiedades en la respuesta:

  • classification - Puede ser GOOD (< 1), NEUTRAL (1…2) o BAD (> 2), indicando puntuación general.
  • score - La puntuación numérica total. Una puntuación > 2 indica spam.
  • reasons - Una matriz de reglas coincidentes, ordenadas por puntuación.

Reglas de puntuación

El API de clasificación evalúa varias reglas de puntuación para cada atributo que proporcione. Las reglas individuales y sus puntuaciones son devueltas por el API en la respuesta. La puntuación general resultante es la suma de todas las puntuaciones de reglas.

Hay 4 categorías distintas de reglas de puntuación, basadas en la entrada proporcionada:

Reglas de Texto

El texto se analiza con las siguientes reglas utilizando procesamiento del lenguaje natural y aprendizaje automático. Estas reglas están diseñadas para detectar patrones comunes utilizados en mensajes no solicitados, como spam y promociones, pero también detectan obscenidades y contenido dañino.

CAPITALIZATION

Esta regla encuentra palabras EN MAYÚSCULAS en el texto. La escritura en mayúsculas sugiere un mensaje no solicitado.

  • Significancia: baja
  • Puntuación: n × 0.25 donde n es el número de ocurrencias.

CURRENCY

Esta regla encuentra todos los tokens que coinciden con formatos comunes de precios o moneda. Los precios en el texto indican una oferta comercial.

  • Significancia: baja
  • Puntuación: n × 0.25 donde n es el número de ocurrencias.

EMOJI

Esta regla encuentra todos los caracteres emoji. El uso excesivo de emoji se considera perjudicial.

  • Significancia: baja
  • Puntuación: n × 0.25 donde n es el número de ocurrencias.

EXCLAMATION

Esta regla encuentra todos los caracteres de exclamación. El uso excesivo de exclamaciones se considera perjudicial.

  • Significancia: baja
  • Puntuación: n × 0.25 donde n es el número de ocurrencias.

HASH_TAGS

Esta regla encuentra todos los #hashtags. El uso excesivo de hashtags se considera perjudicial.

  • Significancia: baja
  • Puntuación: n × 0.25 donde n es el número de ocurrencias.

HTML

Esta regla encuentra todas las etiquetas HTML. El uso de HTML se considera perjudicial.

  • Significancia: media
  • Puntuación: n × 1 donde n es el número de ocurrencias.

HTML_INJECTION

Esta regla encuentra todas las etiquetas HTML dañinas, como <script>, <style> y <iframe>, que indican un intento malicioso.

  • Significancia: alta
  • Puntuación: n × 5 donde n es el número de ocurrencias.

NUMBERS_ONLY

Esta regla coincide si todo el texto consiste solo en números e indica pulsaciones de teclas aleatorias.

  • Significancia: media
  • Puntuación: 0 | 2

PROFANITY

Esta regla encuentra obscenidades comúnmente utilizadas en el texto.

  • Significancia: alta
  • Puntuación: n × x donde n es el número de ocurrencias, x es una puntuación de palabra variable.

RANDOM_CHARS

Esta regla encuentra secuencias de caracteres que parecen ajustarse a pulsaciones de teclas aleatorias.

  • Significancia: media
  • Puntuación: n × 1 donde n es el número de ocurrencias.

SENTIMENT

Esta regla evalúa el sentimiento general del texto. Un sentimiento malo o perjudicial aumenta la puntuación.

  • Significancia: media
  • Puntuación: 0 | 1

SHORT_TEXT

Esta regla coincide si el texto es demasiado corto, menos de 40 caracteres.

  • Significancia: media
  • Puntuación: 0 | 1

SPAM_WORDS

Esta regla encuentra palabras de spam comúnmente utilizadas en el texto.

  • Significancia: media
  • Puntuación: n × x donde n es el número de ocurrencias, x es una puntuación de palabra variable.

SPECIAL_CHARS

Esta regla encuentra secuencias no alfanuméricas de más de 5 caracteres.

  • Significancia: media
  • Puntuación: n × 1 donde n es el número de ocurrencias.

SQL_INJECTION

Esta regla encuentra posibles intentos de inyección SQL, como 1; drop table ....

  • Significancia: alta
  • Puntuación: n × 5 donde n es el número de ocurrencias.

UNEXPECTED_LANGUAGE

Esta regla coincide si el idioma detectado no coincide con expectedLanguages.

  • Significancia: alta
  • Puntuación: 0 | 5

UNKNOWN_LANGUAGE

Esta regla coincide si no se puede detectar el idioma del texto.

  • Significancia: media
  • Puntuación: 0 | 1

URL

Esta regla encuentra direcciones URL en el texto. El uso excesivo de URLs se considera perjudicial.

  • Significancia: baja
  • Puntuación: n × 0.5 donde n es el número de ocurrencias.

Reglas de Correo Electrónico

Si proporcionas una dirección de email al API del clasificador, se analizará con las siguientes reglas diseñadas para validar la dirección. Puede decirte si el correo electrónico es un “correo electrónico gratuito” como Gmail, o si realmente puede recibir mensajes.

FREE_PROVIDER

Esta regla coincide si el nombre de dominio de la dirección de correo electrónico es reconocido como un proveedor de correo electrónico gratuito conocido, como Gmail. Una puntuación de 0 indica un correo electrónico “de trabajo” con un nombre de dominio personalizado, y una puntuación de 0.5 indica un proveedor de correo electrónico gratuito de una lista de los “proveedores confiables” más populares.

  • Significancia: baja
  • Puntuación: 0 | 0.5 | 1

DMARC

Esta regla verifica el DNS en busca de un registro _dmarc. y coincide si el registro no está configurado. La falta de un registro DMARC indica que el dominio está mal configurado.

  • Significancia: baja
  • Puntuación: 0 | 0.5

MX

Esta regla verifica el DNS en busca de un registro MX y coincide si el registro no está configurado. La falta de un registro MX indica que la dirección de correo electrónico no es válida porque no se pueden entregar correos electrónicos.

  • Significancia: alta
  • Puntuación: 0 | 5

REPORTED

Esta regla coincide si la dirección de correo electrónico

se encuentra en una de las listas de bloqueo de conocidos spammers de foros.

  • Significancia: alta
  • Puntuación: 0 | 5

INVALID

Esta regla coincide si el formato de la dirección de correo electrónico es inválido, como un nombre de dominio inválido.

  • Significancia: alta
  • Puntuación: 0 | 5

Reglas de Dirección IP

Si proporcionas una ipAddress al API del clasificador, se analizará con las siguientes reglas diseñadas para evaluar cuán perjudicial es el actor. Te indicará si el usuario está utilizando un servidor proxy o TOR, si la dirección IP está ubicada en un centro de datos o si es una dirección IP maliciosa conocida. Puedes utilizar la evaluación de IP para el bloqueo geográfico.

BLOCKED_COUNTRY

Esta regla coincide si la geo-localización detectada coincide con blockedCountries.

  • Significancia: alta
  • Puntuación: 0 | 5

HOSTING

Esta regla coincide si la dirección IP se sabe que está ubicada en un centro de datos.

  • Significancia: media
  • Puntuación: 0 | 2

MALICIOUS

Esta regla coincide si la dirección IP se encuentra en una de las listas de bloqueo de actores maliciosos conocidos.

  • Significancia: alta
  • Puntuación: 0 | 5

PROXY

Esta regla coincide si la dirección IP se sabe que es un servidor proxy como una VPN.

  • Significancia: baja
  • Puntuación: 0 | 0.5

TOR

Esta regla coincide si la dirección IP se sabe que es una salida TOR.

  • Significancia: media
  • Puntuación: 0 | 1

UNEXPECTED_COUNTRY

Esta regla coincide si la geo-localización detectada no coincide con expectedCountries.

  • Significancia: media
  • Puntuación: 0 | 1

Reglas de Zona Horaria

La zona horaria del usuario (proporcionada por el navegador) se evalúa para detectar una geo-localización precisa del usuario. Esto a menudo es más preciso que la dirección IP debido a la inexactitud del conjunto de datos de IP y al uso de proxies.

BLOCKED_COUNTRY

Esta regla coincide si la geo-localización detectada coincide con blockedCountries.

  • Significancia: alta
  • Puntuación: 0 | 5

UNEXPECTED_COUNTRY

Esta regla coincide si la geo-localización detectada no coincide con expectedCountries.

  • Significancia: media
  • Puntuación: 0 | 1