ultimamente mi stanno bombardando sui vari guestbook, commenti e cose varie di alcuni miei siti.

li odio.

prima di postare questo script ho aspettato qualche giorno per vedere che fosse efficace e sembra esserlo...

(altri metodi avevano sortito una soluzione parziale)

siccome per i nomi sono veramente molto trash...

ecco a voi
WBsecurity
(si lo so è un nome baracca, chi mi trova di meglio sarà ringraziato a vita)

------------------------------------------------------------------

RINGRAZIAMENTO
grazie a BR1 per il codice che genera l'immagine. è un piccolo capolavoro
e spero non ci siano problemi nell'averlo utilizzato
se ci fossero elimino tutto di corsa.
(ovviamente gli ho mandato un PM)

------------------------------------------------------------------

a che serve?
in pratica nella vostra form di inserimento commenti, oppure nella form di inserimento entry del guestbook si aggiunge un'immagine (con un numero) e un campo dove scrivere il numero (il famoso codice di controllo)

nella pagina successiva (che poi può essere la stessa) si controlla la corrispondenza fra numero indicato e numero creato e solo se sono uguali accetta l'inserimento

in pratica è una specie di CAPTCHA scritto tutto in PURO ASP

mettere tutto il codice qui è una follia, indi ho fatto un bello zip

prima di tutto vi fo vedere un esempio
http://www.imente.it/wbsecurity/page1.asp

e ora vediamo quali file servono

dovete mettere in una cartella (di base è la stessa dei file che eseguono l'inserimento nel db, ma basta cambiare i riferimenti e funziona ugualmente) i seguenti file

inc.md5.asp - un file comune per checksum md5
inc.wbsecurity.asp - l'insieme delle funzioni di wbsecurity
wbsecurity.asp - il file che genera l'immagine

page1 e page2 sono solo d'esempio

---------------------------------------------------------------------

vediamo di mostrare solo l'implementazione

nella pagina con la form bisogna eseguire queste modifiche:

aggiungere le inclusioni dei due file:
codice:

e all'interno della form aggiungere la parte con il codice di controllo
codice:
[img]wbsecurity.asp[/img]
<input type="text" id="securitycode" name="securitycode" maxlength="6" />
siamo già a metà dell'opera

nella pagina che processa i dati della form e inserisce nel db mettete le stesse inclusioni
codice:

e poi PRIMA dell'inserimento nel db queste poche linee
codice:
<%
<% 
'**** START WBSECURITY ****************************************************
wbs_securitycode = request.form("securitycode")
wbs_currentsecuritycode = getSecurityCode(session("wbsecurity-generator"))
session("wbsecurity-generator") = getSecurityCodeGenerator()
wbs_isvalid = (wbs_currentsecuritycode = wbs_securitycode)
'**** END WBSECURITY ******************************************************
%>
infine il vostro discriminante sarà
WBS_ISVALID
codice:
if wbs_isvalid then
         'codice corretto
         SQL = "..."
         conn.execute SQL
else
         'codice non corretto
         response.write "attenzione, il codice di controllo non è stato inserito correttamente
end if
---------------------------------------------------------------------

infine
PERSONALIZZAZIONE
è essenziale, appena installato e funzionante eseguire una personalizzazione

aprite inc.wbsecurity.asp e vedete le prime linee

1. SEED
è un valore numerico di 10 cifre che deve essere scritto ex-novo dopo l'installazione
scrivetelo a mano inventando 10 cifre numeriche

2. COLORI
potete indicare i colori di bordo, nucleo e sfondo per l'immagine
ovviamente sceglieteli in base al layout del vostro sito

---------------------------------------------------------------------

trovate tutto in questo zip

http://www.imente.it/wbsecurity/wbsecurity.zip

---------------------------------------------------------------------

per ogni dubbio, problema o domanda io sono qui
(anche per i complimenti :rollo: )