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 los mejores resultados, se recomienda utilizar idiomas con soporte completo. 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.
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
- Clasificación
- Tiempo de ejecución
- Razones
- Idioma detectado
- Dirección IP
- Ubicación (IP)
- Ubicación (huso horario)
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.
Modos de Operación
El Filtro de Spam ofrece varias características avanzadas para la detección de spam. Dependiendo de tu caso de uso y audiencia objetivo, algunas funciones, como la clasificación de campos de texto, pueden ser invasivas para la privacidad. Afortunadamente, puedes configurar fácilmente el comportamiento del Filtro de Spam y establecer el modo de verificación.
Modo Predeterminado
En el modo predeterminado, el Filtro de Spam realiza:
- Clasificación de texto en todos los campos de texto del formulario
- Verificación de la dirección de correo electrónico
- Verificación de IP
- Verificación de idioma
Modo de Dirección IP
Establece spamfilter="ipAddress"
para verificar solo la dirección IP y la zona horaria del usuario. Este modo no envía campos de texto ni direcciones de correo electrónico, lo que lo convierte en una opción más amigable con la privacidad al evitar enviar información personal identificable.
<altcha-widget challengeurl="https://eu.altcha.org/api/v1/challenge?apiKey=ckey_..." spamfilter="ipAddress"></altcha-widget>
Aunque el Modo de Dirección IP no puede detectar spam generado por humanos, identifica eficazmente los bots mediante una comprobación exhaustiva de direcciones IP.
Modos Personalizados
Puedes personalizar aún más el comportamiento del Filtro de Spam utilizando configuración programática. Proporciona spamfilter
como un objeto con configuraciones individuales adaptadas a tus necesidades.
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.
Soporte de Idiomas
El Filtro de Spam actualmente admite la clasificación de textos en los idiomas enumerados a continuación. Para textos en idiomas que no estén en esta lista, se utilizará el clasificador en inglés por defecto. Esto proporciona una funcionalidad básica para la detección de spam, incluso para idiomas no soportados.
- Búlgaro
- Checo
- Danés
- Neerlandés
- Inglés
- Finés
- Francés
- Alemán
- Griego
- Húngaro
- Italiano
- Noruego
- Polaco
- Portugués
- Rumano
- Ruso
- Eslovaco
- Español
- Sueco
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
Para clasificar sus datos, utilice el punto final /api/v1/classify
:
POST https://eu.altcha.org/api/v1/classify?apiKey=ckey_...Content-Type: application/jsonReferer: 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 detext
(la propiedadtext
tiene prioridad).ipAddress
- La dirección IP del usuario. Useauto
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 serGOOD
(< 1),NEUTRAL
(1…2) oBAD
(> 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
donden
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
donden
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
donden
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
donden
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
donden
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
donden
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
donden
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
donden
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
donden
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
donden
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
donden
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
donden
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
donden
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