Strategie per impedire agli scanner di e-mail di attivare i collegamenti di "disiscrizione"


10

Vorrei fornire un link "Annulla iscrizione" con un solo clic nel piè di pagina delle e-mail inviate dal mio servizio.

Ovviamente, molti scanner di spam eseguiranno la scansione delle e-mail e seguiranno tutti i collegamenti presenti nelle e-mail per scansionare i loro contenuti alla ricerca di malware. Una soluzione alternativa che ho usato finora:

  • Se la pagina "Annulla iscrizione" viene richiesta tramite HTTP GET, viene visualizzato un semplice modulo di conferma e un po 'di JS che invia il modulo al caricamento della pagina
  • Se la pagina "Annulla iscrizione" è richiesta tramite HTTP POST, annulla la sottoscrizione dell'utente

In questo modo, l'utente di solito avrà bisogno di un solo clic sul modulo e riceverà un messaggio "Sei stato cancellato". Se JS è disabilitato, possono comunque inviare manualmente il modulo di conferma.

Ora il problema è che alcuni scanner come l'ATP di Office365 apriranno le pagine ed eseguiranno JS al loro interno . Eseguendo JS, inviano il modulo e causano l'annullamento automatico della sottoscrizione dell'utente.

Ho preso in considerazione l'aggiunta di controlli alla logica JS di invio automatico:

  • non inviare automaticamente per agenti utente specifici
  • non inviare automaticamente per intervalli IP client specifici
  • attiva l'invio automatico all'evento di spostamento del mouse

Ma tutti questi sembrano metodi fragili, nella migliore delle ipotesi, che si rompono quando gli scanner di posta elettronica cambiano le loro tattiche.

Sono sicuro che questo problema ha morso molte persone davanti a me. Esistono soluzioni alternative ragionevoli, oltre a rinunciare alla funzionalità di clic singolo?

PS. Ho aggiunto il supporto per RFC 8058 ma gli utenti continueranno a fare clic sui collegamenti nel piè di pagina.


1
Un problema interessante, qualcosa che mi viene in mente è l'invisibile reCAPTCHA v3 di questo nuovo Google, normalmente, non richiede alcuna azione da parte dell'utente se sembra a posto.
Vladan,

@Vladan potrebbe funzionare nel "caso felice". Se il controllo reCAPTCHA fallisce (ad esempio, perché la pagina si apre all'interno del client di posta elettronica in cui non è presente alcun cookie di Google), è molto fastidioso per l'utente finale. Inoltre, i dati vengono inviati a Google, quindi è necessario essere a proprio agio con ciò, menzionarlo
nell'informativa

Abbiamo la stessa funzionalità. Ma usiamo Emarsys per creare e-mail inviate agli utenti e nel piè di pagina c'è un semplice link (codificato) che fa il lavoro. Ora mi stai chiedendo, i miei utenti vengono cancellati dagli scanner di posta elettronica?
Vedran Maricevic.

Risposte:


7

Questo è un argomento di dibattito in corso presso M³AAWG (The Messaging, Malware e Mobile Anti-abuse Working Group). È un casino e non ci sono soluzioni facili. Sembra che tu stia facendo tutto nel modo giusto, ma alcuni sistemi anti-spam sono un po 'troppo aggressivi.

Il grosso problema è che tutto ciò che puoi fare può essere fatto anche da un marketer o spammer abusivo.

La migliore proposta che ho sentito è solo quella di mettere un timer sull'azione. Aggiungi un captcha per gli utenti che annullano l'iscrizione entro 5 minuti dalla consegna e rimuovi il captcha in seguito. (Do non implementare questo per il vostro RFC 8058 List-Unsubscribe-Post collegamento.)

La mia prossima proposta preferita è quella di aggiungere un link canarino al messaggio. Questo dovrebbe essere invisibile ai lettori umani. Se viene seguito, ripristina l'attività dei clic recenti da quell'IP e vieta l'IP dai trigger di azione per un certo periodo.

Mi piacciono anche le tue idee, assicurati solo che se Javascript è disabilitato, l'utente può comunque annullare l'iscrizione dopo aver fatto clic sul pulsante di conferma.

 

C'è una parte di me (attenzione, sono un ricercatore anti-spam) che vuole questi falsi positivi. Spero che questo insegnerà ai miei colleghi che stanno facendo un lavoro così brutto e che queste escalation continueranno a venire da loro. Dal tuo punto di vista, riuscirai a passare il dollaro (anche se perderai alcuni abbonati nel processo).

I sistemi di rilevamento dello spam devono fare attenzione a evitare i collegamenti di gestione degli abbonamenti (almeno fino a quando i cattivi non iniziano a mascherare i loro payload come collegamenti insoliti).


Grazie! Queste sono entrambe buone idee a cui non avevo pensato. Proverò l'approccio con il timer. Nel mio caso, "CAPTCHA" è un semplice pulsante al centro dello schermo che deve solo essere cliccato. Per i collegamenti di annullamento dell'iscrizione rapidamente aperti, non includerò JS per fare clic automaticamente su quel pulsante. Questo dovrebbe aggirare almeno l'ATP di Office365, che scansiona i collegamenti entro un minuto dall'invio di un'e-mail. I collegamenti canarini sarebbero abbastanza difficili da implementare (azioni di annullamento, monitoraggio degli IP vietati). Inoltre c'è il rischio che gli scanner di spam possano contrassegnare le e-mail con collegamenti invisibili come spam / malware.
Pēteris Caune,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.