Pular para o conteúdo

API do Filtro de Spam

O Filtro de Spam da ALTCHA é um recurso exclusivo de detecção de spam que permite que você classifique textos e outras informações, permitindo que você filtre spam e identifique mensagens legítimas. Funciona analisando informações textuais e outras, avaliando vários fatores para fornecer uma pontuação numérica indicando se a mensagem parece legítima ou é provavelmente spam.

O Filtro de Spam utiliza processamento de linguagem natural e aprendizado de máquina para analisar dados de forma rápida e confiável. Para obter resultados ótimos, é recomendado usar idiomas com suporte total: Holandês, Inglês, Francês, Alemão, Italiano, Espanhol e Português. Embora outros idiomas também possam ser analisados, alguns fatores de pontuação podem não estar disponíveis.

A privacidade e a conformidade com o GDPR são primordiais para todos os serviços da ALTCHA. O Filtro de Spam respeita a privacidade do usuário e garante a conformidade com o GDPR para proteger tanto você quanto seus clientes. Saiba mais sobre considerações de privacidade.

Casos de Uso

  • Detecção abrangente de spam: Detecte rapidamente e de forma confiável o spam enviado por meio de formulários online ou APIs, analisando texto e validando fatores como endereços de e-mail e endereços IP.
  • Validação de endereço de e-mail: Detecte endereços de e-mail falsos ou suspeitos e distinga entre e-mails “gratuitos” e “corporativos”.
  • Validação de endereço IP: Identifique se um endereço IP está associado a um data center, proxy ou saída do TOR, e verifique contra listas de bloqueio para atividades maliciosas.
  • Firewall de segurança: Proteja-se contra tentativas comuns de injeção de HTML e SQL em texto, além de identificar atacantes conhecidos por meio de extensas listas de bloqueio.
  • Detecção de idioma: Detecte automaticamente até 160 idiomas a partir do texto fornecido.
  • Geo-localização: Detecte de forma confiável a geo-localização do usuário, idiomas comumente falados, moeda e outras informações a partir de endereços IP ou fusos horários do usuário.
  • Geo-cercamento: Bloqueie efetivamente certos países, regiões ou continentes de acessar ou usar seu site ou APIs.

Experimente!

Teste a API do Filtro de Spam com sua própria entrada usando o formulário abaixo.

Filtro de Spam da ALTCHA

Teste o Filtro de Spam por si mesmo enviando o formulário com sua própria entrada.

  • Use diferentes idiomas
  • Inclua palavras obscenas ou comuns de spam
  • Use um endereço de e-mail real e um com aparência suspeita
  • Explore qualquer uma das regras de texto
Ao enviar o formulário, você concorda e aceita nossa política de privacidade. Seu endereço IP e geo-localização serão detectados automaticamente.

Autorização

O acesso à API requer uma Chave de API. Consulte a documentação de autorização da API para obter mais informações.

Uso com o Widget

Se estiver usando o widget da ALTCHA como proteção Captcha, integrar o Filtro de Spam diretamente em seu site é simples. O formulário será classificado durante a verificação da ALTCHA, antes que os dados cheguem ao seu servidor.

Para utilizar o Filtro de Spam, adicione o atributo spamfilter ao widget (versão 0.3+ necessária):

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

Para informações adicionais e alterações necessárias no servidor, consulte a documentação.

Classificação de Texto

A API do Filtro de Spam analisa o texto fornecido, buscando padrões comuns vistos em spam. Ele pontua vários fatores e fornece uma pontuação cumulativa indicando a qualidade do texto.

Ele pode fornecer insights valiosos sobre o texto:

  • Detecção de idioma
  • Avaliação geral de sentimentos
  • Identificação de palavras de spam e palavrões
  • Detecção de URLs
  • Detecção de injeções de HTML e JavaScript prejudiciais
  • Identificação de possíveis injeções de SQL

Consulte as regras de texto para mais detalhes.

Verificação de E-mail

A API pode verificar endereços de e-mail, verificando sua legitimidade. Uma pontuação mais alta indica um endereço de e-mail suspeito ou falso.

  • Verificação de registro DNS
  • Detecção de provedores de e-mail gratuitos
  • Verificação de listas de bloqueio para spammers conhecidos

Consulte as regras de e-mail para mais detalhes.

Verificação de Endereço IP

Verificar os endereços IP dos usuários é crucial para detectar abusos. A API identifica proxies, saídas do TOR, data centers e endereços IP maliciosos conhecidos.

  • Detecção de geo-localização
  • Geo-cercamento
  • Identificação de data centers, proxies, VPNs e saídas do TOR
  • Verificação de listas de bloqueio para atores maliciosos conhecidos

Consulte as regras de endereço IP para mais detalhes.

Verificação de Fuso Horário

A detecção do fuso horário do usuário via o navegador fornece informações confiáveis de geo-localização. A API resolve fuso horários para países específicos.

  • Detecção de geo-localização
  • Geo-cercamento

Consulte as regras de fuso horário para mais detalhes.

É possível recuperar o fuso horário do IANA do usuário usando o seguinte código JavaScript:

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

Ponto de Extremidade da API

Referência da API

Para classificar seus dados, utilize o ponto de extremidade /api/v1/classify:

POST https://eu.altcha.org/api/v1/classify?apiKey=ckey_...
Content-Type: application/json
Referer: https://example.com/
{
"text": "Spam ou não spam, eis a questão."
}

Solicitação

Para usar a API, envie um corpo codificado em JSON no seguinte formato:

{
"email": "@gmail.com",
"ipAddress": "auto",
"text": "Seu texto aqui...",
"timeZone": "Europe/London"
}

Todas as propriedades da solicitação são opcionais:

  • blockedCountries - Uma matriz de códigos de país (ISO 3166 alfa-2) que você quer bloquear.
  • classifier - Forçar um classificador específico. Classificadores suportados: cs, en, de, es, fr, it, nl, pt.
  • disableRules - Uma matriz de regras a desativar. Por exemplo, ["text.EMOJI"].
  • email - Um endereço de email para verificar. Para respeitar a privacidade do usuário, envie apenas @<dominio>.
  • expectedCountries - Uma matriz de códigos de país (ISO 3166 alfa-2) de onde você espera que o usuário seja.
  • expectedLanguages - Uma matriz de códigos de idioma (ISO 639 alfa-2) nos quais você espera que o texto esteja escrito.
  • fields - Envie campos de texto como um objeto chave-valor. Pode ser usado em vez de text (a propriedade text tem precedência).
  • ipAddress - O endereço IP do usuário. Use auto para usar o IP do chamador. Tanto IPv4 quanto IPv6 são suportados.
  • text - O texto a classificar. Uma matriz de strings também pode ser enviada.
  • timeZone - Fuso horário do usuário no formato IANA, fornecido pelo navegador.

Resposta

A API responde com uma classificação codificada em JSON de seus dados:

{
"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
}
}

O resultado é determinado por propriedades na resposta:

  • classification - Pode ser GOOD (< 1), NEUTRAL (1…2), ou BAD (> 2), indicando pontuação geral.
  • score - A pontuação numérica geral. Uma pontuação > 2 indica spam.
  • reasons - Uma série de regras correspondentes, classificadas por pontuação.

Regras de Pontuação

A API de classificação avalia várias regras de pontuação para cada atributo fornecido. As regras individuais e suas pontuações são retornadas pela API na resposta. A pontuação geral resultante é a soma de todas as pontuações das regras.

Existem 4 categorias distintas de regras de pontuação, com base na entrada fornecida:

Regras de Texto

O texto é analisado com as seguintes regras usando processamento de linguagem natural e aprendizado de máquina. Essas regras são projetadas para detectar padrões comuns usados em mensagens não solicitadas, como spam e promoção, mas também detectar palavrões e conteúdo prejudicial.

CAPITALIZATION

Esta regra encontra palavras EM MAIÚSCULAS no texto. A utilização de maiúsculas sugere uma mensagem não solicitada.

  • Significância: baixa
  • Pontuação: n × 0.25 onde n é o número de ocorrências.

CURRENCY

Esta regra encontra todos os tokens que correspondem a formatos de preço ou moeda comuns. Preços no texto indicam uma oferta comercial.

  • Significância: baixa
  • Pontuação: n × 0.25 onde n é o número de ocorrências.

EMOJI

Esta regra encontra todos os caracteres de emoji. O uso excessivo de emojis é considerado prejudicial.

  • Significância: baixa
  • Pontuação: n × 0.25 onde n é o número de ocorrências.

EXCLAMATION

Esta regra encontra todos os caracteres de exclamação. O uso excessivo de exclamações é considerado prejudicial.

  • Significância: baixa
  • Pontuação: n × 0.25 onde n é o número de ocorrências.

HASH_TAGS

Esta regra encontra todas as #hashtags. O uso excessivo de hashtags é considerado prejudicial.

  • Significância: baixa
  • Pontuação: n × 0.25 onde n é o número de ocorrências.

HTML

Esta regra encontra todas as tags HTML. O uso de HTML é considerado prejudicial.

  • Significância: média
  • Pontuação: n × 1 onde n é o número de ocorrências.

HTML_INJECTION

Esta regra encontra todas as tags HTML prejudiciais, como <script>, <style> e <iframe>, que indicam uma tentativa maliciosa.

  • Significância: alta
  • Pontuação: n × 5 onde n é o número de ocorrências.

NUMBERS_ONLY

Esta regra corresponde se todo o texto consistir apenas em números e indicações de teclas aleatórias.

  • Significância: média
  • Pontuação: 0 | 2

PROFANITY

Esta regra encontra palavrões comumente usados no texto.

  • Significância: alta
  • Pontuação: n × x onde n é o número de ocorrências e x é uma pontuação de palavra variável.

RANDOM_CHARS

Esta regra encontra sequências de caracteres que parecem se ajustar a teclas aleatórias.

  • Significância: média
  • Pontuação: n × 1 onde n é o número de ocorrências.

SENTIMENT

Esta regra avalia o sentimento geral do texto. Sentimento ruim ou prejudicial aumenta a pontuação.

  • Significância: média
  • Pontuação: 0 | 1

SHORT_TEXT

Esta regra corresponde se o texto for muito curto, abaixo de 40 caracteres.

  • Significância: média
  • Pontuação: 0 | 1

SPAM_WORDS

Esta regra encontra palavras de spam comumente usadas no texto.

  • Significância: média
  • Pontuação: n × x onde n é o número de ocorrências e x é uma pontuação de palavra variável.

SPECIAL_CHARS

Esta regra encontra sequências não alfanuméricas com mais de 5 caracteres.

  • Significância: média
  • Pontuação: n × 1 onde n é o número de ocorrências.

SQL_INJECTION

Esta regra encontra possíveis tentativas de injeção de SQL, como 1; drop table ....

  • Significância: alta
  • Pontuação: n × 5 onde n é o número de ocorrências.

UNEXPECTED_LANGUAGE

Esta regra corresponde se o idioma detectado não corresponder a expectedLanguages.

  • Significância: alta
  • Pontuação: 0 | 5

UNKNOWN_LANGUAGE

Esta regra corresponde se o idioma não puder ser detectado no texto.

  • Significância: média
  • Pontuação: 0 | 1

URL

Esta regra encontra endereços de URL no texto. O uso excessivo de URLs é considerado prejudicial.

  • Significância: baixa
  • Pontuação: n × 0.5 onde n é o número de ocorrências.

Regras de E-mail

Se você fornecer um endereço de email para a API do classificador, ele será analisado com as seguintes regras projetadas para validar o endereço. Ele pode dizer se o email é um “email gratuito”, como Gmail, ou se ele realmente pode receber mensagens.

FREE_PROVIDER

Esta regra corresponde se o nome de domínio do endereço de email for reconhecido como um provedor de email gratuito conhecido, como o Gmail. Uma pontuação de 0 indica um email “profissional” com um nome de domínio personalizado, e uma pontuação de 0.5 indica um provedor de email gratuito de uma lista dos provedores mais populares e “confiáveis”.

  • Significância: baixa
  • Pontuação: 0 | 0.5 | 1

DMARC

Esta regra verifica o DNS para um registro _dmarc. e corresponde se o registro não estiver configurado. A ausência de um registro DMARC indica que o domínio está mal configurado.

  • Significância: baixa
  • Pontuação: 0 | 0.5

MX

Esta regra verifica o DNS para um registro MX e corresponde se o registro não estiver configurado. A ausência de um registro MX indica que o endereço de email não é válido porque o email não pode ser entregue.

  • Significância: alta
  • Pontuação: 0 | 5

REPORTED

Esta regra corresponde se o end

ereço de email for encontrado em uma das listas de bloqueio de spammers conhecidos em fóruns.

  • Significância: alta
  • Pontuação: 0 | 5

INVALID

Esta regra corresponde se o formato do endereço de email for inválido, como um nome de domínio inválido.

  • Significância: alta
  • Pontuação: 0 | 5

Regras de Endereço IP

Se você fornecer um ipAddress para a API do classificador, ele será analisado com as seguintes regras projetadas para avaliar o quão prejudicial é o usuário. Ele informará se o usuário está usando um servidor proxy ou TOR, se o endereço IP está localizado em um datacenter ou se é um endereço IP malicioso conhecido. Você pode usar a avaliação de IP para bloqueio geográfico.

BLOCKED_COUNTRY

Esta regra corresponde se a localização geográfica detectada corresponder a blockedCountries.

  • Significância: alta
  • Pontuação: 0 | 5

HOSTING

Esta regra corresponde se o endereço IP for conhecido por estar localizado em um datacenter.

  • Significância: média
  • Pontuação: 0 | 2

MALICIOUS

Esta regra corresponde se o endereço IP for encontrado em uma das listas de bloqueio de atores maliciosos conhecidos.

  • Significância: alta
  • Pontuação: 0 | 5

PROXY

Esta regra corresponde se o endereço IP for conhecido por ser um servidor proxy, como um VPN.

  • Significância: baixa
  • Pontuação: 0 | 0.5

TOR

Esta regra corresponde se o endereço IP for conhecido por ser uma saída TOR.

  • Significância: média
  • Pontuação: 0 | 1

UNEXPECTED_COUNTRY

Esta regra corresponde se a localização geográfica detectada não corresponder a expectedCountries.

  • Significância: média
  • Pontuação: 0 | 1

Regras de Fuso Horário

O fuso horário do usuário (fornecido pelo navegador) é avaliado para detectar uma localização geográfica precisa do usuário. Isso muitas vezes é mais preciso do que o endereço IP devido à imprecisão do conjunto de dados de IP e ao uso de proxies.

BLOCKED_COUNTRY

Esta regra corresponde se a localização geográfica detectada corresponder a blockedCountries.

  • Significância: alta
  • Pontuação: 0 | 5

UNEXPECTED_COUNTRY

Esta regra corresponde se a localização geográfica detectada não corresponder a expectedCountries.

  • Significância: média
  • Pontuação: 0 | 1