Come proteggere i moduli di contatto dall'uso improprio per l'invio di massa?

9

Una funzione comune dei moduli di contatto è quella di inviare il messaggio di contatto non solo al proprietario del sito ma anche alla persona che ha inviato la richiesta di contatto. Quali sono le buone misure per proteggere dal modulo utilizzato come strumento di spamming da uno script automatico che lo invia milioni di volte con indirizzi email diversi?

Posso pensare a diversi approcci, ma ognuno ha anche uno svantaggio o non è molto efficace.

  • I CAPTCHA possono essere rotti troppo facilmente al giorno d'oggi e sono una seccatura per il mittente umano.
  • La limitazione della velocità (solo n sottomissioni per IP al giorno) non sarà di aiuto contro uno script distribuito e potrebbe ostacolare gli utenti con proxy.
  • Il rilevamento dello spam può generare falsi positivi e se il suo uso intensivo di risorse renderà il sito suscettibile agli attacchi DDOS.

Ogni misura rende più difficile / più dispendioso in termini di risorse per un utente malintenzionato, anche se potrebbe semplicemente guardare altrove. Quanto è prevalente lo spam in forma di commenti? Devo preoccuparmene?

    
posta chiborg 08.01.2016 - 18:32
fonte

3 risposte

8

Hai ragione che consentire agli utenti Internet arbitrari e non autenticati di controllare sia il contenuto che il destinatario dei messaggi di posta elettronica inviati dal tuo servizio web (ad esempio il modulo "contattaci" del tuo sito Web) è una cattiva idea e un obiettivo potenzialmente attraente per gli spammer.

Se è importante per voi:

  • consente all'utente di specificare un destinatario per il messaggio; e
  • invia un messaggio a quel destinatario dopo l'invio del modulo,

quindi ti suggerisco di impedire almeno all'utente di controllare il contenuto del messaggio.

Perché non adottare il tipo di approccio che richiede GNU Mailman quando riceve una richiesta di iscrizione? Cioè, invia prima un'email di conferma, lungo le linee:

You, or somebody pretending to be you, submitted a message to use using the contact form on our website. This came from [IP ADDRESS] and gave your email as the sender's email address. If you made this submission, please click [HERE], or reply to this email keeping the subject line intact, to confirm your contact form submission, and we will read your submission and reply in due course. If you did not send us a message via our contact form, please ignore this message.

Potresti limitare il limite in modo tale da non consentire più di una notifica anonima a un dato indirizzo email per (settimana | mese | anno | qualunque), con il timer resettato se l'utente conferma come da istruzioni sopra. Ciò scoraggerebbe i troll dall'usare il modulo per molestare persone innocenti, causandone l'invio di falsi messaggi di conferma.

In ogni caso, solo una volta verificato che il mittente del modulo di contatto ha accesso all'account email inviato, se il contenuto del messaggio inviato viene reso visibile all'utente di quell'account email.

    
risposta data 08.01.2016 - 18:56
fonte
2

Consentitemi una risposta parziale basata sulla precedente esperienza nell'amministrazione dei sistemi: Sì, è ragionevolmente prevalente e dovete preoccuparvi di questo.

Come politicamente scorretto come potrebbe sembrare: controlla se puoi definire geograficamente la tua base di utenti (dove sono le persone con cui desideri fare affari?) e limitare il tasso di tutti gli altri tramite ricerche GeoIP.

    
risposta data 08.01.2016 - 21:26
fonte
1

AKISMET è un'alternativa interessante. È come un filtro antispam, ma esternalizzato e che combina le conoscenze accumulate da molti siti per proteggerti meglio dallo SPAM.

Anche se è principalmente usato per proteggere i commenti di wordpress (l'ho usato e non ricordo davvero che un falso positivo o uno spam passino il filtro), la sua API potrebbe essere usata per qualsiasi altra cosa: link

Invia i dettagli dei dati di contatto alla loro API e ti daranno una risposta positiva o negativa. Esistono API per segnalare falsi positivi e falsi negativi.

Naturalmente ci sono alcuni concorsi sulla privacy da considerare qui, poiché riceveranno i tuoi dati di contatto. Tuttavia, è un'opzione che potrebbe essere considerata.

Un altro suggerimento è di usarlo in combinazione con quelli che hai già menzionato: se ci sono troppi contatti dallo stesso IP, invia il contatto per akismet per il controllo.

    
risposta data 08.01.2016 - 18:44
fonte

Leggi altre domande sui tag