Salta ai contenuti

API del Filtro dello Spam

Il Filtro dello Spam di ALTCHA è una caratteristica unica di rilevamento dello spam che ti consente di classificare testo e altre informazioni, consentendoti di filtrare lo spam e identificare messaggi legittimi. Funziona analizzando informazioni testuali e altre informazioni, valutando vari fattori per fornire un punteggio numerico che indica se il messaggio sembra legittimo o è probabilmente spam.

Il Filtro dello Spam utilizza elaborazione del linguaggio naturale e apprendimento automatico per analizzare i dati in modo rapido e affidabile. Per ottenere risultati ottimali, si consiglia di utilizzare lingue con supporto completo. Anche se sono supportate altre lingue, alcuni fattori di valutazione potrebbero non essere disponibili.

La privacy e la conformità al GDPR sono fondamentali per tutti i servizi di ALTCHA. Il Filtro dello Spam rispetta la privacy dell’utente e garantisce la conformità al GDPR per proteggere sia te che i tuoi clienti. Scopri di più sulle considerazioni sulla privacy.

Casi d’Uso

  • Rilevamento completo dello spam: Rileva rapidamente e in modo affidabile lo spam inviato attraverso moduli online o API analizzando il testo e verificando fattori come gli indirizzi email e gli indirizzi IP.
  • Validazione dell’indirizzo email: Rileva indirizzi email falsi o sospetti e distingue tra indirizzi email “gratuiti” e “professional”.
  • Validazione dell’indirizzo IP: Identifica se un indirizzo IP è associato a un data center, un proxy o un’uscita TOR e controlla le liste nere per attività dannose.
  • Firewall di sicurezza: Proteggi contro i comuni tentativi di iniezione HTML e SQL nel testo, nonché identifica gli attaccanti noti tramite estese liste di blocco.
  • Rilevamento della lingua: Rileva automaticamente fino a 160 lingue dal testo fornito.
  • Geo-localizzazione: Rileva in modo affidabile la geo-localizzazione dell’utente, lingue comunemente parlate, valuta e altre informazioni dagli indirizzi IP o dalle fasce orarie degli utenti.
  • Geo-fencing: Blocca efficacemente certi paesi, regioni o continenti dall’accesso o dall’utilizzo del tuo sito web o delle tue API.

Provalo!

Prova l’API del Filtro dello Spam con il tuo input personale utilizzando il modulo sottostante.

Filtro dello Spam ALTCHA

Testa il Filtro dello Spam con il tuo input inviando il modulo con il tuo input personale.

  • Utilizza lingue diverse
  • Includi volgarità o parole comuni dello spam
  • Utilizza un indirizzo email reale e uno che sembri falso
  • Esplora una delle regole del testo supportate
Invia il modulo, accetti e accetti la nostra politica sulla privacy. Il tuo indirizzo IP e la geo-localizzazione verranno rilevati automaticamente.

Autorizzazione

L’accesso all’API richiede una Chiave API. Consulta la documentazione sull’autorizzazione API per ulteriori informazioni.

Utilizzo con il Widget

Se stai utilizzando il widget di ALTCHA come protezione Captcha, integrare direttamente il Filtro dello Spam sul tuo sito web è semplice. Il modulo verrà classificato durante la verifica di ALTCHA, prima che i dati raggiungano il tuo server.

Per utilizzare il Filtro dello Spam, aggiungi l’attributo spamfilter al widget (richiesta la versione 0.3+):

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

Per ulteriori informazioni e modifiche necessarie al server, consulta la documentazione.

Modalità di Funzionamento

Il Filtro Antispam offre diverse funzionalità avanzate per la rilevazione dello spam. A seconda del tuo caso d’uso e del pubblico target, alcune funzionalità, come la classificazione dei campi di testo, possono essere invasive per la privacy. Fortunatamente, puoi facilmente configurare il comportamento del Filtro Antispam e impostare la modalità di verifica.

Modalità Predefinita

In modalità predefinita, il Filtro Antispam esegue:

  • Classificazione del testo in tutti i campi di testo del modulo
  • Verifica dell’indirizzo email
  • Verifica dell’IP
  • Verifica della lingua

Modalità Indirizzo IP

Imposta spamfilter="ipAddress" per verificare solo l’indirizzo IP e il fuso orario dell’utente. Questa modalità non invia campi di testo o indirizzi email, rendendola un’opzione più rispettosa della privacy che evita l’invio di informazioni personali identificabili.

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

Anche se la Modalità Indirizzo IP non può rilevare lo spam generato da esseri umani, identifica efficacemente i bot tramite un controllo completo degli indirizzi IP.

Modalità Personalizzate

Puoi ulteriormente personalizzare il comportamento del Filtro Antispam utilizzando configurazione programmatica. Fornisci spamfilter come oggetto con impostazioni individuali su misura per le tue esigenze.

Classificazione del testo

L’API del Filtro dello Spam analizza il testo fornito, cercando schemi comuni visti nello spam. Valuta vari fattori e fornisce un punteggio cumulativo che indica la qualità del testo.

Può fornire preziose informazioni sul testo:

  • Rilevamento della lingua
  • Valutazione complessiva del sentimento
  • Identificazione di parole spam e volgarità
  • Rilevamento di URL
  • Individuazione di iniezioni HTML e JavaScript dannose
  • Identificazione di possibili iniezioni SQL

Consulta le regole del testo per ulteriori dettagli.

Supporto Linguistico

Il Filtro Anti-Spam attualmente supporta la classificazione del testo nelle lingue elencate di seguito. Per i testi in lingue non incluse in questa lista, verrà utilizzato il classificatore predefinito in inglese. Questo offre una funzionalità di base per la rilevazione dello spam, anche per lingue non supportate.

  • Bulgaro
  • Ceco
  • Danese
  • Olandese
  • Inglese
  • Finlandese
  • Francese
  • Tedesco
  • Greco
  • Ungherese
  • Italiano
  • Norvegese
  • Polacco
  • Portoghese
  • Rumeno
  • Russo
  • Slovacco
  • Spagnolo
  • Svedese

Verifica dell’email

L’API può verificare gli indirizzi email, controllandone la legittimità. Un punteggio più alto indica un indirizzo email sospetto o falso.

  • Controllo del record DNS
  • Rilevamento di provider di email gratuiti
  • Verifica nelle liste nere per spammer noti

Consulta le regole dell’email per ulteriori dettagli.

Verifica dell’indirizzo IP

La verifica degli indirizzi IP degli utenti è cruciale per rilevare gli abusi. L’API identifica proxy, uscite TOR, data center e indirizzi IP maliziosi noti.

  • Rilevamento della geo-localizzazione
  • Geo-fencing
  • Identificazione di data center, proxy, VPN e uscite TOR
  • Controllo nelle liste nere per attori malevoli noti

Consulta le regole dell’indirizzo IP per ulteriori dettagli.

Verifica del fuso orario

Il rilevamento del fuso orario dell’utente tramite il browser fornisce informazioni affidabili sulla geo-localizzazione. L’API associa i fusi orari a paesi specifici.

  • Rilevamento della geo-localizzazione
  • Geo-fencing

Consulta le regole del fuso orario per ulteriori dettagli.

Puoi recuperare il fuso orario IANA dell’utente utilizzando il seguente codice JavaScript:

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

Endpoint API

Riferimento API

Per classificare i tuoi dati, utilizza il punto finale /api/v1/classify:

POST https://eu.altcha.org/api/v1/classify?apiKey=ckey_...
Content-Type: application/json
Referer: https://example.com/
{
"text": "Spammare o non spammare, questa è la domanda."
}

Richiesta

Per utilizzare l’API, invia un corpo JSON codificato in questo formato:

{
"email": "@gmail.com",
"ipAddress": "auto",
"text": "Il tuo testo qui...",
"timeZone": "Europe/London"
}

Tutte le proprietà della richiesta sono opzionali:

  • blockedCountries - Un array di codici paese (ISO 3166 alfa-2) che si desidera bloccare.
  • classifier - Applicare un classificatore specifico. Classificatori supportati: cs, en, de, es, fr, it, nl, pt.
  • disableRules - Un array di regole da disabilitare. Ad esempio ["text.EMOJI"].
  • email - Un indirizzo email da verificare. Per rispettare la privacy degli utenti, inviare solo @<dominio>.
  • expectedCountries - Un array di codici paese (ISO 3166 alpha-2) di cui ci si aspetta che l’utente provenga.
  • expectedLanguages - Un array di codici lingua (ISO 639 alpha-2) in cui ci si aspetta che il testo sia scritto.
  • fields - Inviare campi testuali come oggetto chiave-valore. Può essere usato al posto di text (la proprietà text ha la precedenza).
  • ipAddress - L’indirizzo IP dell’utente. Usare auto per usare l’IP del chiamante. Sono supportati sia IPv4 che IPv6.
  • text - Il testo da classificare. Può anche essere inviato un array di stringhe.
  • timeZone - Il fuso orario dell’utente in formato IANA, fornito dal browser.

Risposta

L’API risponde con una classificazione JSON dei tuoi dati:

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

Il risultato è determinato dalle proprietà nella risposta:

  • classification - Può essere GOOD (< 1), NEUTRAL (1…2), o BAD (> 2), indicando la valutazione complessiva.
  • score - Il punteggio numerico complessivo. Un punteggio > 2 indica spam.
  • reasons - Un array di regole corrispondenti, ordinato per punteggio.

Regole di Valutazione

L’API di classificazione valuta diverse regole di valutazione per ciascun attributo fornito. Le regole individuali e i loro punteggi sono restituiti dall’API nella risposta. Il punteggio complessivo risultante è la somma di tutti i punteggi delle regole.

Ci sono 4 categorie distinte di regole di valutazione, in base all’input fornito:

Regole del Testo

Il testo viene analizzato con le seguenti regole utilizzando l’elaborazione del linguaggio naturale e l’apprendimento automatico. Queste regole sono progettate per individuare pattern comuni utilizzati nei messaggi non richiesti, come lo spam e la promozione, ma individuano anche volgarità e contenuti dannosi.

CAPITALIZATION

Questa regola individua le parole in MAIUSCOLO nel testo. Le maiuscole nel testo indicano un messaggio non richiesto.

  • Rilevanza: bassa
  • Punteggio: n × 0.25 dove n è il numero di occorrenze.

CURRENCY

Questa regola individua tutti i token che corrispondono a formati di prezzo o valuta comuni. I prezzi nel testo indicano un’offerta commerciale.

  • Rilevanza: bassa
  • Punteggio: n × 0.25 dove n è il numero di occorrenze.

EMOJI

Questa regola individua tutti i caratteri emoji. Un uso eccessivo di emoji è considerato dannoso.

  • Rilevanza: bassa
  • Punteggio: n × 0.25 dove n è il numero di occorrenze.

EXCLAMATION

Questa regola individua tutti i caratteri esclamativi. Un uso eccessivo di esclamativi è considerato dannoso.

  • Rilevanza: bassa
  • Punteggio: n × 0.25 dove n è il numero di occorrenze.

HASH_TAGS

Questa regola individua tutti i #hashtag. Un uso eccessivo di hashtag è considerato dannoso.

  • Rilevanza: bassa
  • Punteggio: n × 0.25 dove n è il numero di occorrenze.

HTML

Questa regola individua tutti i tag HTML. L’uso di HTML è considerato dannoso.

  • Rilevanza: media
  • Punteggio: n × 1 dove n è il numero di occorrenze.

HTML_INJECTION

Questa regola individua tutti i tag HTML dannosi, come <script>, <style> e <iframe>, che indicano un tentativo malevolo.

  • Rilevanza: alta
  • Punteggio: n × 5 dove n è il numero di occorrenze.

NUMBERS_ONLY

Questa regola corrisponde se l’intero testo consiste solo di numeri e indica battiture a caso.

  • Rilevanza: media
  • Punteggio: 0 | 2

PROFANITY

Questa regola individua volgarità comunemente utilizzate nel testo.

  • Rilevanza: alta
  • Punteggio: n × x dove n è il numero di occorrenze, x è un punteggio variabile.

RANDOM_CHARS

Questa regola individua sequenze di caratteri che sembrano battiture casuali.

  • Rilevanza: media
  • Punteggio: n × 1 dove n è il numero di occorrenze.

SENTIMENT

Questa regola valuta il sentimento complessivo del testo. Un sentimento cattivo o dannoso aumenta il punteggio.

  • Rilevanza: media
  • Punteggio: 0 | 1

SHORT_TEXT

Questa regola corrisponde se il testo è troppo breve, con meno di 40 caratteri.

  • Rilevanza: media
  • Punteggio: 0 | 1

SPAM_WORDS

Questa regola individua parole spam comuni nel testo.

  • Rilevanza: media
  • Punteggio: n × x dove n è il numero di occorrenze, x è un punteggio variabile.

SPECIAL_CHARS

Questa regola individua sequenze non alfanumeriche più lunghe di 5 caratteri.

  • Rilevanza: media
  • Punteggio: n × 1 dove n è il numero di occorrenze.

SQL_INJECTION

Questa regola individua possibili tentativi di iniezione SQL, come 1; drop table ....

  • Rilevanza: alta
  • Punteggio: n × 5 dove n è il numero di occorrenze.

UNEXPECTED_LANGUAGE

Questa regola corrisponde se la lingua rilevata non corrisponde a expectedLanguages.

  • Rilevanza: alta
  • Punteggio: 0 | 5

UNKNOWN_LANGUAGE

Questa regola corrisponde se la lingua non può essere rilevata dal testo.

  • Rilevanza: media
  • Punteggio: 0 | 1

URL

Questa regola individua indirizzi URL nel testo. Un uso eccessivo di URL è considerato dannoso.

  • Rilevanza: bassa
  • Punteggio: n × 0.5 dove n è il numero di occorrenze.

Regole per gli Indirizzi Email

Se fornisci un indirizzo email all’API del classificatore, verrà analizzato seguendo le seguenti regole progettate per convalidare l’indirizzo. Ti informerà se l’email è un “email gratuita” come Gmail, oppure se può effettivamente ricevere messaggi.

FREE_PROVIDER

Questa regola si attiva se il nome di dominio dell’indirizzo email è riconosciuto come un provider di posta elettronica gratuito noto, come Gmail. Un punteggio di 0 indica un’email “lavorativa” con un nome di dominio personalizzato, mentre un punteggio di 0.5 indica un provider di email gratuito da un elenco dei provider “affidabili” più popolari.

  • Significato: basso
  • Punteggio: 0 | 0.5 | 1

DMARC

Questa regola controlla il DNS per un record _dmarc. e si attiva se il record non è configurato. La mancanza del record DMARC indica che il dominio è scarsamente configurato.

  • Significato: basso
  • Punteggio: 0 | 0.5

MX

Questa regola controlla il DNS per un record MX e si attiva se il record non è configurato. La mancanza di un record MX indica che l’indirizzo email non è valido perché non può ricevere messaggi.

  • Significato: alto
  • Punteggio: 0 | 5

REPORTED

Questa regola si attiva se l’indirizzo email è presente in uno dei blocchi di noti spammer di forum.

  • Significato: alto
  • Punteggio: 0 | 5

INVALID

Questa regola si attiva se il formato dell’indirizzo email è invalido, come un nome di dominio non valido.

  • Significato: alto
  • Punteggio: 0 | 5

Regole per gli Indirizzi IP

Se fornisci un ipAddress all’API del classificatore, verrà analizzato seguendo le seguenti regole progettate per valutare quanto dannoso sia l’attore. Ti informerà se l’utente sta utilizzando un server proxy o TOR, se l’indirizzo IP è situato in un datacenter, o se è un indirizzo IP noto come maligno. Puoi utilizzare la valutazione IP per il geo-blocking.

BLOCKED_COUNTRY

Questa regola si attiva se la geolocalizzazione rilevata corrisponde ai blockedCountries.

  • Significato: alto
  • Punteggio: 0 | 5

HOSTING

Questa regola si attiva se l’indirizzo IP è noto per essere situato in un datacenter.

  • Significato: medio
  • Punteggio: 0 | 2

MALICIOUS

Questa regola si attiva se l’indirizzo IP è presente in uno dei blocchi di noti attori maligni.

  • Significato: alto
  • Punteggio: 0 | 5

PROXY

Questa regola si attiva se l’indirizzo IP è noto per essere un server proxy come una VPN.

  • Significato: basso
  • Punteggio: 0 | 0.5

TOR

Questa regola si attiva se l’indirizzo IP è noto per essere un’uscita TOR.

  • Significato: medio
  • Punteggio: 0 | 1

UNEXPECTED_COUNTRY

Questa regola si attiva se la geolocalizzazione rilevata non corrisponde ai expectedCountries.

  • Significato: medio
  • Punteggio: 0 | 1

Regole per il Fuso Orario

Il fuso orario dell’utente (fornito dal browser) viene valutato per rilevare una geolocalizzazione accurata dell’utente. Questo è spesso più preciso rispetto all’indirizzo IP a causa dell’imprecisione del set di dati IP e dell’uso di proxy.

BLOCKED_COUNTRY

Questa regola si attiva se la geolocalizzazione rilevata corrisponde ai blockedCountries.

  • Significato: alto
  • Punteggio: 0 | 5

UNEXPECTED_COUNTRY

Questa regola si attiva se la geolocalizzazione rilevata non corrisponde ai expectedCountries.

  • Significato: medio
  • Punteggio: 0 | 1