Newsgroup: it.comp.www.php
Titolo: soluzione allo spam del guestbook

ciao a tutti :)
Non richiedo nulla, semplicemente vi voglio dire come ho affrontato il 
problema dello spam sul guestbook, ed eventualmente ne discutiamo. Visto che 
ho sempre considerato una palla il metodo Captcha (quello dell'immagine con 
un codice da ricopiare), sia nel farlo come amministratore, sia subirlo come 
utente che vuole scrivere un messaggio.
Visto che i bot sono programmi e che quindi vanno abbastanza veloce, ho 
inserito nel form un campo
echo '<input type="hidden" value="' . time() . '" />";
e controllo lato server che la differenza tra il valore nel campo, e l'ora 
in cui viene inviato il messaggio sia compreso in un certo intervallo di 
secondi. nell'esempio ho messo 12 e 1800 secondi (mezz'ora per un messaggio 
sul guestbook credo sia sufficiente, mentre 12 secondi sono pochissimi per 
scrivere un messaggio!:)).
Ovviamente se il campo tempo non rispetta i valori ho messo un log 
dettagliato!
In 8 giorni ho catturato 9 su 9 messaggi di spam. Il tempo impiegato dai bot 
è stato questo:
2/9 ha impiegato 0 secondi
1/9 ha impiegato 1 secondi
2/9 ha impiegato 2 secondi
1/9 ha impiegato 4 secondi
1/9 ha impiegato 5 secondi
2/9 ha impiegato 6 secondi
Visti i dati posso pure abbassare i secondi di tolleranza da 12 a 8...E' 
presto per cantar vittoria, ma sono abbastanza soddisfatto :)
Se i bot in futuro dovessero adattarsi, manipolando il campo input, potremmo 
criptare il time() con semplici operazioni e poi prima del controllo 
decriptarlo.
commenti? volete provarlo? l'avete già provato?
ciao,
Luca(riello) 

 Luca(riello)
ciao ciao!! 

 commenti? volete provarlo? l'avete già provato?
mmm potrebbe andare bene anche per l'invio di mail 
direttamente dal sito...
Occorre solo sperare che non rallentino i both :-D

 utente che vuole scrivere un messaggio.
Voglio solo dirti una cosa: IERI NOTTE sono andato a letto pensando a 
questo problema (ce l'ho MOLTO PRESENTE sul mio guestbook personale).
Stavo pervenendo a qualche soluzione simile... ;))))
Ti faccio i complimenti comunque, non l'ho provato ma A NASO mi sembra 
una bella idea... mo' la provo e ti faccio sapere...
ciao, f.

 Occorre solo sperare che non rallentino i both :-D
Buono... così gli abbiamo anche rotto le scatole :D
potremmo aumentare sempre di più il numero di secondi di attesa, mettendo un 
timer e pregando gli utenti di pazientare (comunque sarebbe più alto il 
tempo speso a cercare di decifrare il codice nelle immagini distorte).
Ho notato inoltre che sti bot disgraziati hanno il javascript attivato 
(perché i tag del form li ho scritti tramite document.write), ma potranno 
controllarlo? del tipo se mettessimo un confirm prima dell'invio del form?
mah... ci sarebbe da provare!
ciao,
Luca(riello) 

 confirm prima dell'invio del form?
E' possibile aggirarlo intercettando l'evento a livello di browser.
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.


in che senso?
aggirandolo cosa ritornerebbe secondo te? true o false o a scelta?
ciao,
Luca(riello) 

 aggirandolo cosa ritornerebbe secondo te? true o false o a scelta?
A scelta. Se il bot sa quale tipo di risultato deve ottenere in caso di
invio riuscito allora potra essere programmato per tentare l'invio fino
alla riuscita, percorrendo tutte le possibili vie.



Beh un ulteriore punto sarebbe quello di "annullare" una finestra di dialogo 
per mandare un messaggio. Ma poi si inizia a strafare...
ciao,
Luca(riello) 

Bravissimo, ottimo criterio di selezione.
Non ci avevo mai pensato, sembra (quasi) perfetto.
Da adottare! ;)

 ciao a tutti :)
[..]
sono sempre stato ipercritico quindi non te la prendere..
ma se vengono usate letture di immagini per sincerare la presenza umana per
quanto riguarda un'azione che richiede interventi umani, ci sara' un
motivo..
in nessun caso un software deve riuscire a sostituire l'intervento umano..
mai.. e il tuo sistema magari ti potra' sembrare lavorare egregiamente, ma
non puo' essere considerato un sistema perfetto sia per il disagio che
potrebbero avere alcuni utenti per l'attesa e sia per il fatto che, di
fatto, non elimina il problema ma solamente lo rallenta..
-- 
www.iuz-lab.info
http://www.iuz-lab.info/homepolitics.php

[CUT]
Caro Luca(riello) .. la tua soluzione per ora va + che bene ed è un gran 
passo avanti .. ma pensa che se si sviluppa su grande scala non va più 
bene .. anche se cripti il tuo campo time .. in quanto si giocherebbe 
non sulla ricerca del tempo utile per far funzionare il bot .. ma sulla 
pazienza che avrebbero i postatori .. mi spiego .. se tu ora hai visto 
il logo ed hai settato ad 8 secondi (esempio) un domani si potrebbe 
riprogrammare il bot di attendere 10 secondi .. tu setti 10 lui attende 
20 .. tu setti 15 minuti lui setta 20 .. quando arriverai ad 1 ora ??? 
ora questo come esempio è stupidello ma era giusto per riflettere che 
strada intraprendere perchè anche io stavo studiando il modo di poter 
postare escludendo le immagini con i codici .. e la tua sembra per ora 
una buona strada .. ti rinnovo i miei complimenti ed uno sprono a 
renderla ancora + funzionale ..
--
!!! OFFERTA IRRIPETIBILE !!!
Muori oggi avrai uno sconto del 50%.
[CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com

 sono sempre stato ipercritico quindi non te la prendere..
scherzi? non ho mica postato per i complimenti... :)
So bene del problema che tu e [capobecchino] avete messo in luce, sopratutto 
dell'adattamento del bot al tempo... in effetti se dovesse essere adottato 
su larga scala i bot si potranno adattare facilmente! Ma proprio grazie a 
questo concetto, non verrà visto come un metodo ultra sicuro, ergo non verrà 
sviluppato su larga scala... quindi io almeno vivo felice :D
Poi ho postato qui per vedere se ci può essere un'idea che completa o renda 
più sicuro questo metodo, oltre a ovviamente farlo testare anche a qualcun 
altro che non vuole, o non può, usare il metodo Captcha.
Una cosa è certa: lo userò fino a prova contraria :)
PS: Secondo me far aspettare 20 secondi a uno spam-bot non è un fastidio da 
poco! Il tutto considerando che in media per scrivere un messaggio, che non 
sia un semplice "ok" che personalmente modererei, non ci si mette meno di 30 
secondi. Specie se si tratta di blog di discussione...
ciao,
Luca(riello)

 [...cut...]
Non male come soluzione.
Un altra, usata da me pi volte e con successo, è non chiamare il
guestbook "guestbook", ma in un altro qualunque modo.
-- 
Lorenzo Breda

 ciao a tutti :)
Ciao a tutti, volevo dirvi che oggi ho brevettato questa soluzione in 
tutto il mondo, quindi non potete più usarla, a meno che non mi pagate 
le royalties.
-- 
Cordialmente.
Melus.
dal mio e-mail togli i simboli di Zorro.

 le royalties.
tu sei caduto con la testa sullo spam :P
--
SEZIONE OMICIDI:
Nuova strepitosa offerta, porta 2 amici e vinci. 3 suocere al prezzo di 2.


 per mandare un messaggio. Ma poi si inizia a strafare...
Sembra eccessivo anche a me. Tuttalpiů - come intergrazione al tuo metodo e
seguendo la strada del dialog box - potresti (potremmo) optare per una sorta
di "captcha lato client". Naturalmente anche in questo caso c'č da
distingure l'umano dal non, quindi da far perdere un attimo all'utente per
scrivere "qualcosa", ma qualcosa di NON cosě scomodo come i caratteri
sbilenchi (e talvolta incomprensibili anche per l'umano) del captcha.
Fai un copiaincolla e prova:
<script type="text/javascript">
function ctrl() {
var a="o", b="p", c="i", d=b+c+b+b+a;
var p=prompt("scrivi \""+d+"\" (senza virgolette) e dai l'ok","scrivi qui");
  if (p==d) {
  return true;
  }
  return false;
}
</script>
<form onsubmit="return ctrl()">
Come vedi č roba elementare, ma credo che per un bot non lo sia.
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

 [CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com
Ero in un attimo di relax.


Scusate, non ho capito bene bene bene bene,
Io ho fatto un modulino per richiesta info che trovate qui.
http://www.juniorbit.it/jb_richiesta_info.php
Che penso possa avere lo stesso problema.
Io ho scoraggiato l'uso di questo modulo per altri scopi con un semplice 
ritardo dello script di qualche secondo.
Un semplice invio di una mail con un link di conferma potrebbe bastare?


> Ero in un attimo di relax.
Logicamente spero che avrai notato la faccina finale :D
--
SEZIONE PICCOLI ACCORGIMENTI: "Chiamami un tassì", mi disse prima di 
morire e sulla sua lapide ho scritto: "Qui riposa in pace Untassì".


> Un semplice invio di una mail con un link di conferma potrebbe bastare?
è una soluzione che stavo pensando di adottare .. ma ti ci vedi in ogni 
blog che posti ad aspettare la mail, cliccare sul link, posti, aspetti, 
clicchi, posti, aspetti, clicchi .. ed infatti la soluzione è stata 
scartata a priori .. :)
--
!!! SODDISFATTI O RIMBORSATI !!!
Nessuno si è mai lamentato della nostra offerta 2x1. Morire in 2 e 
pagare per 1.


 motivo..
sbagli, perchè anche la lettura di immagini è "automatizzabile"...
tramite OCR. Quindi, anche la soluzione delle immagini è lungi
dall'essere matematicamente PERFETTA.
2) Se un umano PUO' aprire la pagina e postare, lo potrà fare ANCHE UNA
MACCHINA.... sempre e comunque... puoi solo cercare di renderglielo
difficile. Le immagini da copiare e il metodo qui proposto sono due modi
diversi per renderlo "difficile". Niente di più, niente di meno.... 
Andando oltre, qualsiasi software che cerchi di identificare dello spam
è inutile perchè, secondo il tuo ragionamento, non potrebbe essere
perfetto... eppure... in genere funzionano.
Per me QUESTO sta funzionando (per ora).


 Per ora... 100% di successo.
Di già?
Quanto spam subivi?? :-o
Io ho dovuto aspettare 3 lunghi giorni per riavere lo spam :D è anche vero 
che ormai quel sito era abbandonato.
comunque sono contento :)
ciao,
Luca(riello) 

[CUT]
Ragazzo mi dispiace ma ho trovato il modo di mettere fine al tuo antispam :D
Mettiamo queste ipotesi:
a) il web server restituisce una pagina ogni 1 sec
b) il tuo tempo minimo (che logicamente il bot non conosce) è 8 sec
c) il tuo bel campo time lo cripti come cavolo vuoi :)
ora a questo punto non mi basta altro che settare un delay iniziale al 
mio bot pari almeno al tuo tempo minimo .. ma invece voglio strafare io 
setto 10 sec
Ora faccio partire il mio bot
1° sec : richiede la pagina / eventualmente compila
2° sec : richiede la pagina / eventualmente compila
3° sec : richiede la pagina / eventualmente compila
4° sec : richiede la pagina / eventualmente compila
5° sec : richiede la pagina / eventualmente compila
6° sec : richiede la pagina / eventualmente compila
7° sec : richiede la pagina / eventualmente compila
8° sec : richiede la pagina / eventualmente compila (il tuo limite)
9° sec : richiede la pagina / eventualmente compila
10° sec : richiede la pagina / eventualmente compila / invia la pag 1
11° sec : richiede la pagina / eventualmente compila / invia la pag 2
12° sec : richiede la pagina / eventualmente compila / invia la pag 3
13° sec : richiede la pagina / eventualmente compila / invia la pag 4
14° sec : richiede la pagina / eventualmente compila / invia la pag 5
15° sec : richiede la pagina / eventualmente compila / invia la pag 6
16° sec : richiede la pagina / eventualmente compila / invia la pag 7
17° sec : richiede la pagina / eventualmente compila / invia la pag 8
18° sec : richiede la pagina / eventualmente compila / invia la pag 9
e cosi via .. e puoi settare quello che vuoi ma daresti solo filo da 
torcere agli utenti .. e non al bot che un delay iniziale (anche se di 
un minuto) non gli tange e guarda che 1 minuto è un tempo normalissimo 
che nessuno si sognerebbe mai di settare :P
buona giornata ..


 10 sec
Funzionano già così senza delay (non si spiegherebbe l'enorme tempo di 6 
secondi di alcuni bot)... sarebbe lo stesso un rallentamento :)
Inoltre come dicevo, il tempo può essere variabile: se avessi un blog, 
setterei un tempo più alto (così magari la gente rilegge le cazzate scrive, 
e non è un male :D).
Ammetto che il sistema non ha una sicurezza pari al metodo captcha, questo 
lo sapevo sin dall'inizio, però se lo usano solo quelle persone che non 
sanno come farlo (e non sanno nemmeno usare pacchetti già pronti), gli 
spammer non si sognerebbero di perdere così tanto tempo per così poca gente.
Fermo restando che ci potrà essere qualche idea che migliori la percentuale 
di sicurezza, ed è il motivo per cui ho scritto qui :)
Invito comunque chi lo usa di scrivere dati sul tempo :)
ciao,
Luca(riello) 

 Luca(riello) 
--
SEZIONE RECUPEO LAVORO: Lancio di una nuova lavatrice sul mercato, due 
morti e sei feriti.


 ..
Se un giorno non dovesse essere più tanto difficile?
La soluzione diverrebbe proprio ciò che stiamo facendo: diversificare i 
sistemi antispam!
controlli javascript, questo metodo, metodo captcha (ce ne sono altri?). 
Anche se non vengono usati tutti contemporaneamente, i bot dovranno 
aggirarli tutti!
Oppure consentire l'accesso solo ai registrati :(
Non dico questo per convincere te (immagino che ne sia già convinto)... ma 
solo chi ritiene sufficienti i mezzi che abbiamo :)
ciao,
Luca(riello) 

 perfetto... eppure... in genere funzionano.
[..] 
intendevo perfetto se rendi impossibile l'automatizzazione per la tecnologia
corrente.. e il sistema con immagine se implementato adeguatamente si
rivela di gran lunga migliore della stra grande maggioranza degli altri
sistemi..
-- 
empty

 momento..   
"mi permetto di contraddirti"
http://sam.zoy.org/pwntcha/


 
http://sam.zoy.org/pwntcha/
sempre pronto ;) non conoscevo il link .. ma ho programmato sw ocr per 
riconoscimento testi anche su carta molto consumata .. per questo sapevo 
che era possiible .. cmq grazie del link ;)
--
!!! OFFERTA IRRIPETIBILE !!!
Muori oggi avrai uno sconto del 50%.
[CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com

 comunque sono contento :)
Anche io, nonostante le critiche più o meno sensate, nel mio caso al momento sono a 6 successi su 6.
Ti ringrazio di nuovo ;)


 rispettivamente: 2, ND, 2, ND, 1, 13
L'ultimo (13) a dire il vero l'ha preso AL PELO... il threshold è a 15 ...
cazzo stanno già "imparando"...
vediamo che succede...


 i bot imparano .. ;) ragazzo ..
QUESTO non l'ho mai messo in discussione.
Quello che affermo è che:
1) Fanno prima ad andare altrove, forse
2) Il bot come fa a sapere se ha postato con successo ?
nel mio caso, non c'e' differenza... deve andare a rileggersi il
guestbook e vedere se il suo messaggio esiste...
CMQ PER ORA siamo ancora al 100% (se n'e' aggiunto un altro,
delta_time=0 segato anche lui).


> 2) Il bot come fa a sapere se ha postato con successo ?
forse ??? ;)
--
SEZIONE OMICIDI:
Nuova strepitosa offerta, porta 2 amici e vinci. 3 suocere al prezzo di 2.
[CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com

 forse ??? ;)
Scusa, non g'ho capě ... ;)



uhm... ma usare gif animate?
Come funzionano questi software? cosa "vedono"?e cosa vedrebbero con gif 
animate?
ciao,
Luca(riello)

 Scusa, non g'ho capě ... ;)
Ti prendevo un po in giro sul fatto che un bot possa capire .. ;)
--
SEZIONE PICCOLI ACCORGIMENTI: "Chiamami un tassě", mi disse prima di 
morire e sulla sua lapide ho scritto: "Qui riposa in pace Untassě".


Luca(riello) ha scritto:

si troverebbe sempre il modo .. ;)
--
!!! SODDISFATTI O RIMBORSATI !!!
Nessuno si è mai lamentato della nostra offerta 2x1. Morire in 2 e 
pagare per 1.
[CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com


Scusate ma...
che diavolo č la foto vicino l'elefante????????????
ciao,
Luca(riello) 

 Ti prendevo un po in giro sul fatto che un bot possa capire .. ;)
Secondo me TU sei un BOT ... stai imparando perchè leggi i NG.
;)))))))



Secondo me è CapoBecchino che fa la spia :p
Bisogna vedere se ci saranno altri tempi simili, e se si.. se è sempre lo 
stesso spambot.
ciao,
Luca(riello)
PS: il tuo guestbook è piu' intasato del mio... anzi... se v/puoi linka da 
qualche parte (anche di nascosto agli utenti) il mio link 
hombresdemar.altervista.org/guestbook.php
 . Non mi interessa la pubblicità, 
tanto il sito non ha più ragione di esistere, il gioco al quale si 
appoggiava non c'è più. Lo teniamo solo per ricordo :p

 Secondo me TU sei un BOT ... stai imparando perchè leggi i NG.
io grande capoBOT ... ;) dico che hai visto giusto .. ;)
--
SEZIONE OMICIDI:
Nuova strepitosa offerta, porta 2 amici e vinci. 3 suocere al prezzo di 2.
[CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com

 che diavolo è la foto vicino l'elefante????????????
bravo è ciò che hai pensato .. :P


 
hahahaha :) ma no .. io progetto non creo bot .. e poi sono troppo 
incasinato a surclassare google .. ;)
--
Era prassi nel medioevo che per accertarne la morte al cadavere venisse 
morso l'alluce, per questo chi faceva tale lavoro veniva chiamato 
beccamorto.Un giorno giunse al cospetto di un beccamorto un uomo senza 
arti inferiori; da quel giorno sono nate le pompe funebri.
[CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com 174

 si troverebbe sempre il modo .. ;)
Questo per ogni cosa: quello che fa l'uomo può farlo una macchina! Bisogna 
solo rendergli la cyber-vita più difficile :)
Non penso potrà mai esistere una soluzione definitiva.
ciao,
Luca(riello) 


altri 10 messaggi di spam di cui però (ahi) 9 bloccati.
Preoccupante perché il delay è stato di 28 secondi! (Capobecchino ne sai 
qualcosa? :p)
4 -> 1 secondo
2 -> 11 secondi
2 -> 6 secondi
1 -> 5 secondi
1 -> 28 secondi
ciao,
Luca(riello)
PS: ora mi spremo un altro pò

 PS: ora mi spremo un altro pò
non troppo .. mi raccomando :)
buona giornata
--
!!! SODDISFATTI O RIMBORSATI !!!
Nessuno si è mai lamentato della nostra offerta 2x1. Morire in 2 e 
pagare per 1.
[CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com

 non troppo .. mi raccomando :)
hai ragione... ora devo andare in bagno :p
Comunque stamattina avevo in mente un'altra soluzione, ma l'ho dimenticata! 
:-s
(sai quelle cose che possono cambiare la tua vita e poi le dimentichi...)
Se mi riviene in mente ve la propongo :-p
ciao,
Luca(riello) 

 Luca(riello) 
--
SEZIONE RECUPEO LAVORO: Lancio di una nuova lavatrice sul mercato, due 
morti e sei feriti.
[CapoBecchino] - hotmail/msn: capobecchino [@] hotmail [.] com


Quell'idea che alle 6 del mattino mi pareva geniale, dopo un caffé mi pare 
na strunzat' :p
Comunque la propongo, ho già implementato gli opportuni controlli, così vedo 
i bot come si comportano (anche qui non faticheranno ad adattarsi, ma almeno 
è un'altra idea):
Semplicemente un conteggio di quante volte pigi un tasto della tastiera per 
scrivere un messaggio (tramite il semplice onkeyup). Ho solo messo il 
controllo del campo per ora per vedere come si comportano i bot.
Semplicisticamente si può mettere che i tasti premuti non possano essere 
meno della lunghezza del messaggio! Questo impedirebbe, tuttavia, il copia e 
incolla da parte di utenti. Ma si può fare una specie di algoritmo che 
individui "gli automatismi" e permetta agli utenti di essere liberi, tenendo 
presente vari fattori, come per esempio il fatto che se uno dovesse scrivere 
un messaggio lungo 1500 parole, difficilmente non batterebbe almeno una 
volta il tasto "canc" e cose così. Un pò astruso come concetto 
effettivamente...
Ma questo metodo almeno può essere implementato per il campo "Autore del 
messaggio", lì sicuramente il copia e incolla non ha senso :)
tuttavia ammetto che è facilmente raggirabile... quindi... vabbeh come non 
detto... mi scoccia non mandare il messaggio dopo averlo scritto, quindi ve 
lo appioppo comunque :D
ciao,
Luca(riello)

 che diavolo č la foto vicino l'elefante????????????
http://en.wikipedia.org/wiki/Goatse
'bye

 Ti prendevo un po in giro sul fatto che un bot possa capire .. ;)
M'insinuo nel thread perché, posto sia un dato di fatto che il bot
"capisca", un altro dato di fatto è che *io* non capisco come il bot
possa capire :-)
Spieghiamoci meglio. Al di là del procedimento informatico attraverso il
quale il bot "capisce" (sul cui merito preferisco soprassedere: sarebbe
fuori dalla mia portata), posso tranquillamente intuire ed accettare il
fatto che un programma sia in grado di "apprendere, imparare e
comportarsi di conseguenza". Non lo metto in dubbio, non discutiamone
neanche, sono il primo ad esserne convinto.
Ma la domanda di Cujo è: "Il bot come fa a sapere se ha postato con
successo?", ripeto *con successo*. Neanche l'umano può sapere se ha
postato con successo, come può intuirlo un bot?
Ti faccio un esempio stupido, ma sufficiente per renderti chiara la mia
perplessità. Poniamo che nel php tu abbia:
$Ora=l'ora di adesso
if ($Ora >= mezzogiorno AND $Ora <= le 2 del pomeriggio) {
mail();
}
L'umano e il non umano avranno un'unica certezza: quella di aver
riempito dei campi e premuto un pulsante; né l'uno né l'altro, tuttavia,
potranno sapere che alle 5 del mattino quel pulsante era inutile
premerlo.
Cosa mi sfugge? :)
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

 postato con successo, come puň intuirlo un bot?
Beh non mi pare molto difficile:
Basta "tornare indietro" e vedere, nella pagina del guestbook, se il tuo 
messaggio (o certe parole chiavi come per esempio i tuoi link di spam) sono 
presenti.
ciao,
Luca(riello) 

 
Come vedi ti hanno risposto :)
Luca[riello] .. secondo me sei un booooooooootttttttttttttttt :P
--
SEZIONE PICCOLI ACCORGIMENTI: "Chiamami un tassì", mi disse prima di 
morire e sulla sua lapide ho scritto: "Qui riposa in pace Untassì".


 qualcosa? :p)
Io per ora sono a:
21 spam identificati su 22.
L'unico entrato, aveva un delta_time dui 40 secondi.
Però è l'ìunico su 22. ;)



I bot attuali non simulano il keydown della tastiera, per cui questo metodo 
funziona per ora :)
ciao,
Luca(riello) 

 Però è l'ìunico su 22. ;)
Io ho avuto 3 messaggi di: 23 38 34 secondi di delay.
Ma contando i keydown della tastiera... li ho riconosciuti e bloccati :)
ciao,
Luca(riello) 

 funziona per ora :)
Mah, PER ORA funziona egregiamente il solo tempo, per me... sarà il mio 
sito che attira bot scemi...
Mi sono acccorto che alla fine a spammare sul mio guestbook sono due 
bot/spammers diversi.
Uno POSTa direttamente, senza neanche cagarsi il form (immagino se lo 
sia letto tempo fa e/o lo rifaccia ogni tanto)... Quelli adesso non 
passano MAI.
Un altro simula il POST dal form, ma appunto ci mette pochi secondi... 
tranne UNA SOLA VOLTA, dove ce ne ha messi più di 40 ed è passato... ma 
è successo una sola volta, ormai siamo intorno alla 50ina di spam, 49 
successi...
(ri-grazie)
ciao, f.


Aggiornamento:
da quando ho implementato l'ulteriore funzione di catturare il numero di 
tasti premuti tramnite il js onkeydown:
113/113 messaggi di spam catturati e bloccati :)
Nessun bot ci ha mai pensato :D
ciao,
Luca(riello) 

 Nessun bot ci ha mai pensato :D
puoi spiegare un po meglio il sistema che hai usato??


Forse il topic era troppo vecchio per chi non l'ha messo in evidenza. C'era 
un ampia discussione precedentemente.
Comunque eseguo due controlli distinti:
inserisco nel form un input hidden dove lato php metto come valore il 
timestamp corrente con time(). Poiché i bot spammers non perdono tempo a 
scrivere o leggere i messaggi, avevo pensato di controllare il tempo 
impiegato a scrivere e mandare il messaggio al server con questo metodo:
time()-$_POST['tempo'];
Se questo valore è piccolo (al di sotto dei 15 secondi) sicuramente è un 
bot, quindi blocco il messaggio.
Questo sistema ha funzionato per un pò, poi ho visto che ci sono bot che, 
usando il metodo descritto da [capobecchino] (ti consiglio di googleggiare 
se vuoi approfondimenti) sono riusciti ad aggirare questo sistema.
Allora ne ho messo un altro: un contatore che tramite il javascript 
onkeydown aumenta ogni volta che si pigia un tasto, spedisco questo valore 
insieme ai dati del form. TUTTI i bot hanno lasciato il contatore a 0 ergo 
blocco chi mi manda quel parametro con un valore uguale a 0.
Il risultato è per ora ottimo :)
ciao,
Luca(riello) 

Scusa Luca, ma che succede se poi si fa un copia-incolla utilizzando il
mouse?

 mouse?
Beh il nome dell'autore del messaggio difficilmente viene inserito con un 
copia e incolla.
E comunque considererei spam un copia e incolla per intero senza un minimo 
di commento, quindi non vedo il problema :)
Altirmenti si può integrare anche un onClick.
ciao,
Luca(riello) 

 Altirmenti si può integrare anche un onClick.
capito il tutto.   ma quali guestbook sono insidiati dai boot??     e questi 
bot, funzionano in maniera 'universale' x tutti i guestbook?

 questi bot, funzionano in maniera 'universale' x tutti i guestbook?
Per questo avevo fatto il post, per condividere esperienze :)
Finora su più di un centinaio di spambot nessuno ha eluso il sistema 
dell'onkeydown e il 30% ha eluso il sistema temporale (ovvero "scrivevano" 
il messaggio in più di 15 secondi). Per gli altri guetsbook non posso 
saperlo. :)
ciao,
Luca(riello) 

Scusa Luca, il codice dove lo troviamo? :)

 saperlo. :)
e' possibile avere un link di un guestbook simile al tuo (o il tuo)??? 

 Scusa Luca, il codice dove lo troviamo? :)
Rispondo anche alla domanda di prima:
su 
hombresdemar.altervista.org/guestbook.php
 c'è l'output...
Occorre un minimo di javascript (le funzioni sono nell'head) e di php c'è 
solo il timestamp nell'input nascosto.
Lato server il controllo è di questo tipo:
// se ce la fa in meno di 15 secondi è un bot
if(time()-$_POST['tempo']<15) die("spam");
//se l'onkeydown non è chiamato nemmeno una volta, è un bot
if($_POST['contaparole']==0 || $_POST['contautore']==0) die("spam");
alla pagina spam.txt dello stesso dominio, ci sono tutti i messaggi 
catturati nell'ultimo mese :)
ciao,
Luca(riello)
PS: Poco ci vuole per un bot, penso, richiamare l'onkeydown... ma finora 
nessuno lo fa. 

 nessuno lo fa.
Un miniscript in Perl non dovrebbe avere problemi a bypassare i tuoi
controlli:
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->agent("Myspam/0.1 ");
my $req = HTTP::Request->new(POST => '
http://foo.bar/sendbook.php'
);
$req->content_type('application/x-www-form-urlencoded');
$req->content('message=spam&autore=spammer&tempo=1&contaparole=1000&contaautore=1000');
my $res = $ua->request($req);
Al posto di mettere "tempo" nella form salvalo in una sessione cosi' rendi
la vita piu' difficile allo spammer.
'bye

 la vita piu' difficile allo spammer.
Bella idea :)
Ciao,
Luca(riello) 


potresti fare anche un form fittizio e poi postare tutti i valori dei campi, 
tramite jso ajax  (da pulsante invia) su un altro file che non risulta nel 
form. in questo modo, script automatici, farebbero fatica ad inserire lo 
spam.