2012-12-21 95 views
5

recentemente ho aiutato alcuni amici a spedire un sistema di invito nel loro sito web che funziona in questo modo: un utente crea un account, inviamo un'email di verifica e quando verifica l'e-mail ottiene un credito gratuito da spendere sul sito web. In aggiunta a ciò, ha collegamenti personalizzati che può condividere sui social network o via e-mail e quando le persone si registrano usando questo link (e-mail verificati di nuovo account) ottiene un credito per invito. Molto simile al sistema di invito su thefancy.com o qualsiasi altro sistema di invito basato sulla ricompensa sul web.Prevenire l'abuso su un sistema di invito

Ultimamente vediamo elevati tassi di account utente falsi che probabilmente sono automatizzati. La pagina di registrazione presenta un CAPTCHA, ma siamo consapevoli che questo può essere aggirato. Vediamo anche elevati tassi di utenti che creano indirizzi e-mail usa e getta per creare account seguendo specifici link di invito, accreditando così un utente legittimo che utilizza i crediti gratuiti che guadagna.

Sto cercando un modo automatico per prevenire questo tipo di abuso. Attualmente sto studiando la possibilità di fissare limiti di frequenza su inviti/registrazioni che provengono dallo stesso indirizzo IP, ma questo sistema stesso ha i suoi difetti.

Qualche altra idea testata?

Grazie

Edit: Ho anche proposto 2 registrazione fattore di via SMS, ma è stato rifiutato a causa della carenza di bilancio.

+3

Questi conti presunti falsi sono ancora in fase di verifica? –

+0

Sì, è necessario verificare tramite e-mail per ottenere il proprio credito gratuito e inviare l'unico credito gratuito al proprietario del collegamento univoco. – Thanos

+1

Suggerirei di disabilitare tutti i domini di posta elettronica che vengono utilizzati da siti di posta elettronica di 5 minuti. – CharliePrynn

risposta

5

Sembra che sia necessario richiedere più di un semplice indirizzo e-mail verificato prima che un utente possa inviare inviti, idealmente qualcosa che mostra che l'utente ha partecipato al proprio sito in qualche modo. Senza sapere quale sia il tuo sito è difficile dare specifiche, ma l'equivalente StackOverflow richiederebbe agli utenti di avere almeno X reputazione prima di poter invitare altri. Se stai facendo funzionare un forum potresti richiedere di aver realizzato almeno X post.

Suggerisco anche un piccolo limite di tempo prima che i nuovi account possano essere invitati, ad es. devono essere stati membri per almeno X giorni. Ciò complica in qualche modo gli inviti automatizzati.

+0

Anche se sono d'accordo, è difficile mantenere gli utenti legittimi coinvolti quando devono attendere per eseguire un'azione sul sito. Finché c'è di più sul sito di un albero di invito, dovrebbe comunque andare bene. –

5

Un metodo estremamente semplice che ho usato prima è quello di avere un input aggiuntivo nel modulo di registrazione che è nascosto usando CSS (cioè ha display: nessuno). La maggior parte dei robot di forma riempirà questo campo mentre gli umani no (perché non è visibile). Nel tuo codice lato server puoi quindi rifiutare qualsiasi POST con l'input popolato.

Semplice, ma ho trovato che sia molto efficace!

+0

Lo stesso vale per i campi generati da javascript, il confronto tra il time lapse dalla visualizzazione dei moduli per la presentazione del modulo e altre tecniche per verificare la partecipazione di un cliente. Purtroppo, poiché i robot sono programmati, la maggior parte delle persone che li scrivono conosce anche le contromisure. –

0

Aggiungere un test CAPTCHA alla pagina di conferma. Mi chiedevo se il tuo CAPTCHA è abbastanza robusto se viene ignorato in qualche modo. Potresti prendere in considerazione l'uso del reCaptcha (odioso) che sembra popolare. Un CAPTCHA nella pagina di conferma ridurrebbe il rischio che un 'bot invii la pagina di conferma. In altre parole, implementerebbe l'idea dell'interazione del cliente con il sito dopo la registrazione. Un metodo simile potrebbe essere quello di chiedere la password del dichiarante.

+0

Cosa fornirebbe un altro CAPTCHA nella pagina di conferma alla sicurezza? Utilizziamo già reCAPTCHA, ma è relativamente facile anche craccare con una precisione del 99%. – Thanos

1

alcune idee:

  • uso Ban di e-mail come 'Mailinator'.
  • Posizionare un ritardo sul premio di rinvio, consentendo di estendere il periodo di rilevamento delle frodi, dandovi più tempo per rilevare account fasulli e rispondere di conseguenza.
  • Richiedere all'utente di riferimento di creare una transazione di generazione di entrate prima di rilasciare qualsiasi premio di referral (so che potrebbe non essere uno spostamento che è possibile apportare) - eventualmente a sua volta aumentare il premio per tenere conto dell'inconveniente al referrer (dovresti risparmiare denaro attraverso una frode ridotta, quindi non una vendita dura).
  • Apprendimento automatico. Osservazioni in corso e messa a punto con il rilevamento delle frodi. Più dati hai e meglio potrai identificare questi casi. (Indirizzi IP come lei cita.) Informazioni di spedizione/fatturazione ancora più esplicative se si applica - attenzione alle caselle postali adiacenti.