Come bloccare gli spammer dall'utilizzo della mia API di posta elettronica pubblica

1

Sto lavorando a un'applicazione web che consente agli utenti di condividere contenuti su una pagina Web facendo clic su un link "email a un amico"; simile a ciò che extole sta facendo qui link

in questa pagina se fai clic sull'icona dell'email vicino a "REFER & ottieni $ 15", vedrai un popup in cui puoi inserire la tua e-mail e un'email di un amico e modificare l'oggetto dell'e-mail. Quando fai clic su invia i dati vengono inviati al backend come json. Stanno usando un semplice URL per fare questo, link .

Il problema per me è che in qualche modo gli spammer si sono impossessati del mio URL (non posso menzionarlo qui) e ora lo stanno usando per inviare spam ad altri usando una sorta di script. Quello che ho fatto è che ho inserito un assegno nel backend api per bloccare un IP se ne sono derivate più di 5 richieste di condivisione, ma sembra che gli spammer abbiano un sacco di IPS (più di 30.000 da quello che ho contato nei miei log) quindi sono ancora in grado di inviare molte email. Una possibile soluzione è usare un captcha per contrastare lo script di spamming. Ma sono curioso di sapere come lo stiano facendo. Non stanno usando captcha; e sono anche famosi, quindi è improbabile che gli spammer non sappiano della loro pubblicità accessibile. Qualcuno può far luce su questo?

Nota: 1. Sto utilizzando un servizio di posta elettronica di terze parti per inviare le email. 2. Gli utenti non sono tenuti ad accedere in quanto ciò vanifica lo scopo della condivisione su un semplice sito Web. 3. Gli utenti possono modificare l'oggetto e il corpo, quindi questi vengono inviati alla chiamata API e questo è ciò che consente agli spammer di abusare dell'ape con le loro cose.

    
posta taimur 25.01.2015 - 15:09
fonte

2 risposte

1

Dovresti reagire rapidamente prima che l'IP / dominio di invio venga inserito nella lista nera. Inoltre tutte quelle mail fanno male al tuo marchio.

Alcuni primi passi:

  • Cerca nel log del server l'agente utente dei mittenti violenti. Un semplice bot di spam potrebbe sempre utilizzare lo stesso, in modo da poter assegnare una maggiore probabilità di essere spam per "utente" con tali agenti e limitare il numero di "azioni" che possono invocare. Se sei fortunato, il loro agente utente è unico e puoi bloccarlo.
  • Puoi aggiungere un campo modulo nascosto che ottiene un valore dal tuo server tramite una richiesta javascript. Devi controllarlo prima di inviarlo (è già stato usato, è stato generato negli ultimi 5 minuti, ...) e questo potrebbe bloccare bot semplici che non rendono la tua pagina / esegui lo script. (Tuttavia, questo blocca solo i bambini di script)
  • Filtra i messaggi di invio! Non consentire collegamenti a qualsiasi dominio, che non è controllato da te. Filtra le mail e inserisci l'IP nella blacklist se contiene tipiche caratteristiche di spam (nomi di prodotti farmaceutici, giochi d'azzardo, ...)
  • I captcha non sono poi così male o almeno lo afferma Google. Dai un'occhiata al loro re redisgned: sistema captcha. Non l'ho ancora provato, ma se funziona non disturba l'utente.
risposta data 25.01.2015 - 15:34
fonte
2

Questo è comunemente noto come un attacco di replay, quando l'attaccante trasmette ripetutamente un messaggio legittimo usando uno script. In questo caso, ci sono piccole modifiche al messaggio poiché gli spammer cambiano i parametri email in ogni messaggio.

Cosa potresti fare per impedirlo è implementare un nonce. Un nonce è una stringa casuale che è unica per ogni singola richiesta. Il nonce deve essere generato nel back-end e archiviato in un database. Il nonce può quindi essere incorporato in un campo nascosto nel modulo. Quando il modulo viene inviato, controlli il nonce sul database. Se è valido, si elabora la richiesta e si rimuove il nonce dal database. In questo modo, qualsiasi richiesta futura che utilizzi tale nonce non sarà valida e quindi impedirebbe agli spammer di ripetere ripetutamente la stessa richiesta.

Tuttavia, un bot più sofisticato può aggirare questo sistema ricaricando la pagina per ottenere un nuovo nonce per ogni replay.

Un altro metodo più intrusivo è implementare un captcha. Si fermerà la maggior parte degli spammer, ma come al solito, i più determinati teoricamente saranno ancora in grado di scrivere uno script per bypassare anche quello.

    
risposta data 25.01.2015 - 15:42
fonte

Leggi altre domande sui tag