Salve a tutti. Ho notato oggi che nel guestbook del mio sito (un sito esterno ad AV) c'erano più di 1500 messaggi di spam. Il guestbook l'ho scritto io, e volevo delle dritte per frenare lo spam. Grazie a tutti
Salve a tutti. Ho notato oggi che nel guestbook del mio sito (un sito esterno ad AV) c'erano più di 1500 messaggi di spam. Il guestbook l'ho scritto io, e volevo delle dritte per frenare lo spam. Grazie a tutti
Personalmente, uso il non-campo: il form per inviare messaggi contiene un campo dal nome "attraente" (e.g. email, username, user, nick...) che e' nascosto via css, e di solito viene con una label "lasciare vuoto" o "non riempire" per garantire l'accessibilita'.
Nessuna persona riempira' questo campo, mentre i bot automatici ci mettono sempre qualcosa. Per accettare il messaggio il campo deve esistere ma deve essere vuoto:Dicono che non sia perfetto, ma e' semplice da implementare e blocca tutto tranne lo spam manuale - ma quale sistema lo blocca?Codice PHP:
if (isset($_POST[$antispam]) && $_POST[$antispam] == '') ...
Un altro metodo e' quello di non accettare link: se c'e' un link non lo aggiungi. Non e' che rimuovi il link, proprio non accetti il messaggio. E' brutale, ma funziona al 100% e per un guestbook puo' anche avere senso: la gente deve solo scrivere un commento, non lasciare link.
C'è anche il sistema della domanda di sicurezza, che è quello che preferisco.
Poni una semplice domanda, magari una somma, magari dinamica.
@dreadnaut: Non l'avevo mai sentito questo metodo, tuttavia potrebbero scriverci un bot a misura sopra.
Non ho la presunzione di ritenere il mio sito cosi' importante da meritarsi un attacco personalizzato
Lo spammer dovrebbe avere un bot calibrato su misura per il mio sito, perche' non e' possibile sapere a priori quale sia il campo nascosto via css, senza venire a visitarlo: posso nasconderlo via display, colore, margin, text-indent, position, etc.
Gli spammer spammano su siti con form che seguono particolari e semplici modelli o cms. Esci dal modello, e non sei piu' spammabile.
Grazie mille a tutti e due, ora vedo di implementare tutte e due le cose.
EDIT: scusa dread non ho capito bene la cosa del non-campo (sarà che sono arrugginito), mi puoi spiegare meglio per favore? Grazie
Ultima modifica di gabryhacker : 03-08-2009 alle ore 12.51.11
Il form dei commenti ha un campo che non serve a nulla, ma che ha il nome di un campo importante.
Questo campo è nascosto via css, e per chi ha gli stili disabilitati metto un avviso: lasciatelo vuoto. Una persona che vuole scrivere un commento perciò non lo riempirebbe.
Nel codice della pagina però è ben visibile, quindi i bot in cerca di siti da spammare lo vedono e lo usano quando cercano di inviare spam.
Quando ricevo un nuovo commento, io controllo che il campo sia stato passato correttamente, ma che sia vuoto. Se invece contiene qualcosa, assumo che sia spam, e quindi rifiuto il commento.
Mille motivi per usare altri metodi, come detto sopra. Personalmente lo preferisco perché non aggiunge nessun carico per l'utente, niente somme da fare, niente letterine incomprensibili da copiare.
Un captcha pure potrebbe essere utile.
Per ora ho messo una domandina (esempio quanto fa 2 + 2?) e un intervallo di 30 secondi per messaggio, cioè non si possono inviare 2 messaggi in meno di 30 secondi.
Se poi non basta, aggiungo anche il non-campo. Grazie a tutti ^^
Scusate il doppio post, ma non riesco proprio a capire. I bot saltano le protezioni che ho messo come se nulla fosse. Se non è spam: http://crashiniside.net/?page=guestbook
Proverò con il non-campo, ma a questo punto bo non so se funzionerà
Ma grazie, non è obbligatorio il campo della risposta. Puoi anche ometterlo e il messaggio viene inserito ugualmente, stessa cosa se inserisci un risultato sbagliato, il messaggio viene inserito.
(Scusa i messaggi inutili ma facevo prove).
Dovresti mettere il campo della risposta obbligatorio (se lo ometti non inserisci il messaggio, stessa cosa se sbagli).
Ultima modifica di stoner : 07-08-2009 alle ore 16.02.01
Ecco un bug che mi sfuggiva. Grazie correggo subito.
io uso un'immagine con delle lettere e numeri che l'utente deve inserire nell'imput non è un vero è proprio captcha in quanto l'immagine non cambia è la stessa ma per ora funziona !
Io dividi in tre input l'email così non è possibile (almeno per ora) che il BOT inserisca il campo dell'email (obbligatorio). Per di più controllo anche l'estensione e faccio un preg_match completo su nome e nome sito)