Domanda

Quali sono i meccanismi che sai che evitare che il sito venga utilizzato per anonimo spammer.

Per esempio, diciamo che ho un sito dove la gente può votare qualcosa.Ma Io non voglio qualcuno spam qualcosa che tutti la strada verso l'alto.Così ho trovato (a) la creazione di un account e solo al voto potrà votare una sola volta e (b) il CAPTCHA per diminuire lo spam.Quali altri metodi conoscete e quanto bene funzionano?

È stato utile?

Soluzione

La grande cosa che ho notato è che qualunque cosa tu faccia, si desidera che il sistema per essere unico.Si desidera che un utente malintenzionato di avere di adeguare i loro programmi di automazione per il tuo sito specifico, piuttosto che buttare un pre-esistente script che funziona quasi ovunque.Non hanno nemmeno bisogno di essere protetti da crittografia;è solo per rendere il vostro sito un po ' diverso dalla norma.

Questo non significa che non si può o non si dovrebbe usare qualcosa di simile a un pre-costruito widget captcha.Assolutamente non utilizzare uno di questi come un punto di partenza!Significa solo che avete per personalizzare da qualche parte in modo che qualcosa accade al di fuori della norma e rompere qualsiasi pre-esistente script che normalmente sconfiggere.

Se il tuo sito riceve abbastanza grande che si hanno attaccanti targeting in particolare, allora il tuo piccolo e semplice personalizzazione probabilmente non reggere più e si potrebbe fare qualcosa di un po ' più speciale e pensare reale di crittografia e di tutto ciò che.Ma che è una di quelle cose che un buon problema da avere.

Altri suggerimenti

alt text

Da xkcd

Per un sistema CAPTCHA, raccomando vivamente reCAPTCHA.

Tradizionale generata al computer Captcha si eventualmente essere rotto con lo sviluppo di una sufficientemente intelligente sistema.Per esempio, ecco qualcuno chi pretende di rompere il CAPTCHA di Google, precedentemente considerato indistruttibile, con un 30% tasso di successo.reCAPTCHA, per definizione, ti mostra solo le immagini che non può essere riconosciuto dal riconoscimento ottico dei caratteri.

E, allo stesso tempo, gli utenti' sforzo sarà indirizzato verso il bene comune, aiutano a digitalizzare libri, riconoscendo parole che non possono essere riconosciute automaticamente.

Vedere qui per ulteriori spiegazioni e per provarlo.

  • Limitare il numero di voti per ogni indirizzo IP per volta
  • Bloccare i proxy anonimi.
  • Per il voto:Come circa mischiare il valore che deve essere restituito dalla forma "per la sessione di base".Una volta "1", la prima voce, "2" indica il secondo.Quindi "77", la prima voce, "812" significa la seconda, ...potrebbe essere qualcosa di semplice matematica dietro la scena, ma si impedisce agli utenti di inviare solo la stessa query HTTP più e più volte.
  • Quello che per me ha funzionato molto bene:Utilizzare AJAX forme, non semplici HTTP forme.Tecnicamente non è molto più complicato di falso voti, ma ho scritto un semplice software per blog ed è solo SPAM meccanismo di protezione è quello di presentare i commenti tramite AJAX - no SPAM finora.

Io sono un fan del "campo nascosto" CAPTCHA.Non mi ricordo dove l'avevo letto, ma l'idea è questa:

  • crea la tua forma normale
  • aggiungere un campo, ma nasconderlo (es. style="display:none" nella zona del div o riga della tabella)
  • dopo la presentazione, se il campo è vuoto, fare l'azione appropriata (ad esempio, inviare una e-mail);se il campo è stato riempito, quindi è un robot submitter

L'unico caso in cui questo cade è se il browser dell'utente non gestisce i CSS (o hanno spento), che è molto raro.

Carica per i voti, come fanno in televisione "talent" show, e ottenere spam tutto il senso alla banca!

Seriamente, questo è un problema davvero spinoso, e un giorno (forse presto, se si ascolta Ray Kurzweil), computer di eseguire il test per escludere gli esseri umani.Le risposte sono aggiunta alla lista sono evidenti svantaggi, ma solo per il gusto di enumerazione:moderazione (sono esseri umani fare il test), e basato su IP tracking (limitare il numero di voti da un host).

stackoverflow ha un paio di caratteristiche che aiutano con questo;Penso che l'unico e più utile che puoi fare è disabilitare la possibilità di utenti anonimi e nuovi account di voto.In questo modo, nessuno può firmare per centinaia di account e utilizzare i loro voti a sopraffare gli altri utenti.Direi che richiedono qualche post o iscrizione per un certo periodo di tempo sono entrambe le opzioni di decente.

Qualcuno potrebbe dire che si potrebbe consentire a un voto per ogni indirizzo IP per risolvere questo problema, ma ho giocato un sacco di giochi in cui gli utenti malintenzionati con un quasi infinito numero di deleghe sfidato indirizzo IP-based di sicurezza.È un deterrente, ma un esperto utente di ottenere intorno ad esso facilmente.

Questa è l'area di studio di Umana Calcolo.

c'è un ottimo video da Luis von Ahn qui:http://video.google.com/videoplay?docid=-8246463980976635143

C'è un paio di idee le risposte ai Meglio non basata sull'immagine CAPTCHA? domanda, se non hai visto già.

Io di solito uso una combinazione dei due:anonmous utente è libero di sfogliare tutto, ma se vuole il voto, poi si deve registrare.

Durante il processo di registrazione, a seconda della situazione, io uso un optin al mail (per completare la registrazione e confermare che almeno la cassetta postale esistente) e/o un CAPTCHA.

Da quel punto si può decidere se un utente può vonte più di una volta, o di qualsiasi altra norma.

Btw io non sono un fan del IP basato su vincoli:ci sono un sacco di situazioni in cui grande rete aziendale con pochi IP per tutti gli utenti, in modo che il rischio di bloccare gli utenti che potrebbero voto è alto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top