Come posso prevenire lo spam sui siti che controllo?


27

Questa è una domanda wiki generale della community per rispondere a tutte le domande non specifiche sulla prevenzione dello spam.

Se la tua domanda è stata chiusa come duplicato di questa domanda e ritieni che le informazioni fornite qui non forniscano una risposta sufficiente, ti preghiamo di aprire una discussione su Pro Webmasters Meta .


Ai fini di questa domanda, lo spam includerà:

  • Qualsiasi post automatizzato
  • Contenuti pubblicati manualmente che includono collegamenti a siti di spammer
  • Contenuti pubblicati manualmente che includono istruzioni per visitare il sito di uno spammer

Risposte:


27

Il seguente elenco è organizzato per relativa facilità di implementazione, costi di manutenzione ed efficacia nella prevenzione dello spam:

Disabilita tutto il contenuto generato dall'utente

Questa è una soluzione di terra bruciata che toglie la crescita di una comunità di utenti attorno al tuo sito, tuttavia, è anche garantito per farti risparmiare tempo e fatica a gestire lo spam o la prevenzione dello spam.

A parte disabilitare i contenuti generati dagli utenti, non esiste una soluzione garantita per impedire che tutto lo spam (o altri contenuti indesiderati) appaia, tuttavia, una soluzione che scoraggia la maggior parte degli spammer dovrebbe essere sufficiente se offri anche ai visitatori del tuo sito la possibilità di contrassegnare i contenuti come spam.

Esternalizzare la gestione dei contenuti generati dagli utenti

Servizi come Disqus consentono ai webmaster di esternalizzare lo screening, l'archiviazione e la pubblicazione di commenti generati dagli utenti. (Nota: l'uso di un servizio di terze parti richiede una configurazione aggiuntiva per garantire che i commenti vengano indicizzati dai motori di ricerca)

CAPTCHA

Per Wikipedia , CAPTCHA sta per "Test di Turing pubblico completamente automatizzato per distinguere computer e esseri umani". Qualsiasi test automatizzato progettato per impedire a un computer di pubblicare contenuti è un CAPTCHA: questo include costringere gli utenti a leggere lettere, numeri e parole senza immagini, fare semplici puzzle di parole o domande matematiche o "dimostrare" che sono persone.

Lo svantaggio di CAPTCHA è questo

  1. La maggior parte delle forme di CAPTCHA fornisce un livello di fastidio per gli utenti.

  2. Non sono protettivi al 100%. Si noti che molti di questi test possono essere completati dai computer se un programmatore competente decide di investire abbastanza tempo e sforzi sul problema

Domande e risposte CAPTCHA

Il CAPTCHA più efficace per i piccoli siti è la domanda e risposta CAPTCHA. Un CAPTCHA di domande e risposte è una domanda a cui un sito Web chiede a un utente di rispondere. La domanda è qualcosa che chiunque visiterebbe il sito avrebbe saputo, ma che un programma per computer non avrebbe saputo. Una domanda di esempio per un sito su seo sarebbe "Cosa significa SEO". A questa domanda sarebbe facile rispondere per il lettore medio di quel sito, ma qualsiasi programma per computer non sarebbe in grado di farlo.

NOTA: domande come "cos'è 1 + 1" non funzionano bene, perché vengono spesso utilizzate e le persone che creano spambots le programmano per rispondere correttamente a tali domande.

Tuttavia, se il tuo sito riceve molto traffico, gli spammer programmeranno i loro robot per rispondere automaticamente a queste domande e le domande e risposte CAPTCHA non saranno più efficaci.

Campo nascosto

Se hai un modulo e non vuoi che gli spammer possano usarlo, un buon modo per fermarli è usare un campo nascosto. Questi sono molto semplici da configurare: aggiungi un campo ridondante al tuo modulo, nascondilo tramite CSS (o JavaScript) e ferma tutto ciò che tenta di inserire un valore in quel campo. Gli utenti normali non saranno in grado di vedere il campo e lo ignoreranno, perché è nascosto da loro, ma i programmi per computer impiegati dagli spammer proveranno a inserire un valore in quel campo, perché non elaborano CSS o javascript. Per battere gli spambots che caricano CSS o Javascript, puoi aggiungere un campo aggiuntivo ai moduli con una richiesta di lasciarlo vuoto. Qualsiasi visitatore umano lo lascerà vuoto e puoi facilmente bloccare i robot che aggiungono dati al campo. Non dimenticare il fatto che ciò potrebbe rendere il sito non professionale.

Analisi del traffico e dei contenuti

Gli spammer hanno un numero limitato di reti e macchine da cui inviare (che in genere useranno fino a quando non funzionano più). Le soluzioni di analisi del traffico raccolgono dati da un gran numero di host per determinare se un post contiene contenuti di spam noti o proviene da host o rete di uno spammer noto.

Esistono numerose soluzioni CAPTCHA e di analisi del traffico di terze parti gratuite (o economiche) da utilizzare e la maggior parte dei software di gestione dei contenuti open source include moduli integrati per l'utilizzo di servizi come Akismet e reCAPTCHA .

Blocca le parole comunemente contenute nello spam

Se noti che lo spam sul tuo sito web contiene comunemente parole che non saranno (o non sono) utilizzate da utenti legittimi (come "collegamenti gratuiti al tuo sito"), bloccare gli utenti dalla pubblicazione di tali parole è una soluzione efficace. Se sei preoccupato per gli utenti che hanno un uso legittimo di quelle parole nei loro post che hanno problemi a pubblicare sul tuo sito, puoi impostare il filtro in modo che ignori i post degli utenti stabiliti.

rel="nofollow"

Gli spammer tendono a concentrarsi sui siti che consentono loro di pubblicare collegamenti che i motori di ricerca seguiranno (migliorando così il grado di ricerca del sito che stanno pubblicizzando).

Puoi rendere il tuo sito meno attraente per gli spammer aggiungendo rel="nofollow"a qualsiasi link incluso nei contenuti generati dagli utenti, tuttavia, questo approccio potrebbe non funzionare, poiché la maggior parte dello spam è automatizzato e gli spammer non hanno modo di sapere se un sito utilizza o meno i rel="nofollow"link.

Moderazione da parte degli utenti

Il contenuto può essere pubblicato da chiunque, tuttavia, una volta visualizzato sul sito, può anche essere contrassegnato come spam e rimosso (Questa opzione funziona in pratica solo se i visitatori percepiscono un contenuto di spam relativamente raro: se si consente allo spam di superare commenti utili , la maggior parte dei visitatori non si preoccuperà di contrassegnare lo spam).

gamification

La gamification è un ottimo modo per motivare gli utenti a segnalare spam. Prendi in considerazione l'aggiunta di una funzione "peso bandiera" al tuo sito: più segnalano gli utenti di spam, più punti ottengono. Ciò renderà più divertente la ricerca dello spam e offrirà alle persone che segnalano i diritti di vantarsi dello spam. Ciò, a sua volta, incoraggerà gli utenti a segnalare spam.

Moderazione degli amministratori

Un essere umano deve rivedere ogni elemento di contenuto pubblicato prima che venga pubblicato sul sito - sebbene ciò non impedisca la pubblicazione di spam, ma impedisce la visualizzazione dello spam ai visitatori del sito (riducendo così il valore del sito agli spammer umani) .

Registrazione Utente

La registrazione degli utenti è un miglioramento rispetto a CAPTCHA perché gli utenti sono costretti a dimostrare di essere umani solo una volta prima di poter commentare a loro piacimento - questa non è tecnicamente una forma diversa di prevenzione dello spam, anche se rende la rimozione dello spam creata da un utente o gruppo di utenti specifici (identificati da nome utente, e-mail, indirizzo IP o altro fattore identificativo) più facili da applicare.

Moderati nuovi utenti

Invece di approvare ogni post, un amministratore può rivedere le registrazioni di nuovi utenti per determinare se approvare o meno un utente in base alla coerenza o meno della registrazione dell'utente con gli spammer identificati o gli spambots automatici.

Limitare le nuove funzionalità utente

Gli spammer umani raramente ricorderanno di tornare agli account che hanno creato se non possono pubblicare spam gratuitamente su un account - richiedono ai nuovi utenti di creare un determinato numero di post (se la community ha la possibilità di contrassegnare lo spam) e / o attendere un set periodo di tempo prima che vengano revocate le restrizioni sulla pubblicazione di link o su più post.

Addebitare agli utenti l'iscrizione

Se addebiti un abbonamento, anche se la quota è piccola, gli spammer saranno costretti a valutare il costo dell'iscrizione rispetto al valore di pubblicare spam sul tuo sito (e passare il tuo sito a favore di obiettivi più facili).

Solo su invito

Se consenti solo alle persone che sono state invitate da altri utenti di registrarsi, ciò ridurrà drasticamente lo spam (gli umani di solito non invitano i robot).

Quanto segue proviene dal Progetto BOTCHA , Drupal.

Vaso di miele

Implementazione di honeypot-trap . L'essenza di ciò è che il campo viene aggiunto al modulo con un certo valore, che viene quindi modificato da JS. Lo spam è l'invio di qualsiasi modulo, il cui valore calcolato non è lo stesso di cui abbiamo bisogno.

HoneyPot2

Come sopra, ma usando come fonte di calcolo non il valore di un determinato campo, ma i dati del CSS.

ObscureUrl

Simile a HoneyPot2: costruito da JS viene confrontato con la necessità. La differenza è che il valore iniziale viene passato attraverso il parametro GET.

Conclusione

La maggior parte dei webmaster troverà che una combinazione delle soluzioni sopra elencate (ad eccezione della proibizione del contenuto generato dagli utenti) funziona meglio per il proprio sito e almeno una soluzione deve essere implementata per evitare che lo spam automatico blocchi le discussioni dei visitatori.


1
+1 tramite risposta! Vorrei aggiungere che è possibile implementare un qualche tipo di sistema di ricompensa per gli utenti che segnalano spam come parte del metodo "Moderato dagli utenti". Nell'applicazione che sto sviluppando ora, gli utenti che segnalano con successo gli spam riceveranno "punti spam killer" che sono come vantarsi dei diritti che appaiono sui loro profili. Inoltre, possono spendere questi punti come la valuta sul sito per ottenere risultati di inserzione più elevati nelle ricerche del profilo. Naturalmente questo apre la possibilità di abuso, quindi devo trovare un modo per combattere quella forma di spam in caso dovesse insorgere.
JakeRow123,

@ JakeRow123 Ho aggiunto una sezione sulla gamification: sentiti libero di modificarlo e aggiungere i tuoi pensieri.

5

Di recente abbiamo eliminato lo spam dal nostro modulo Contattaci con un'implementazione molto semplice. Abbiamo aggiunto un input etichettato "URL:" nel modulo HTML e lo abbiamo reso invisibile agli utenti reali. Quindi, nel modulo di elaborazione, controlliamo se ha un valore e agiamo di conseguenza.

Gli spambots prendono sempre l'esca; hanno inserito un URL in qualche sito spam. La nostra sceneggiatura lo vede e getta via il commento (in realtà, ricicliamo i pezzi perché stiamo cercando di essere un tipo di azienda ecologica più ecologica). Per un po ', conserveremmo comunque il commento offensivo in una tabella del database per la revisione, ma rifiuteremmo di inviare i risultati via e-mail ovunque. Ecco come sappiamo che ha funzionato.

Con questo semplice metodo siamo passati da circa 30 messaggi di spam "Contattaci" al giorno a ZERO.

Buona fortuna con qualunque cosa tu scelga!


Nell'input <form>, includiamo: <p class = "antispam"> Lascia vuoto questo campo: <input name = "url" width = "200" /> </p> Nello script di elaborazione, abbiamo: if (isset ($ _ SESSION ['url']) && $ _SESSION ['url'] == '') {mail ($ a, $ subject, $ body, $ headers); }
WebDevKev

1

Ho un forum, dove ho temporaneamente abilitato post anonimi. Non volevo usare Captcha, dato che spesso me stesso, ho difficoltà a leggerli, il che può impedire alle persone di commentare. Per aiutare a prevenire lo spam ho usato Akismet per catturare messaggi in entrata. Akismet non è a prova di proiettile, ma ha reso la mia vita molto più semplice.

Tuttavia, devi essere consapevole dei falsi positivi. Quindi quello che ho fatto è stato creare un "Attributo spam" sul mio oggetto post e impostarlo sul valore di ritorno di Akismet. Se un post fosse contrassegnato come spam, darei me stesso e l'e-mail, da quel momento in poi potrei decidere se era spam o no.


3
Si tratta di un catch-all domanda comunità wiki e risposta - obiettivo primario di informazioni di carattere generale sulla prevenzione dello spam per l'uso in chiudendo domande duplicati. Se desideri, puoi unire i tuoi consigli all'elenco.
danlefree

+1 akismet sembra fare un buon lavoro, non capirli tutti e a volte blocca i commenti legittimi ma il 99% delle volte è giusto
sam

0

Si prega di visitare MediaWiki.
Cerca estensione: moderazione
Questa estensione ti aiuterà a prevenire lo spam nei siti che controlli.
Ho usato questa estensione MediaWiki molte volte.
E impedisce ai robot di creare articoli spam.

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.