nessun script gia' fatto perchč tutti usano captcha indiscriminatamente senza valutare l'impatto dei disabili.
Una soluzione possibile č via asp.net quindi ripeto, se il tuo sito č un guestbook personale, fai prima a mettere un codice di sicurezza in chiaro senza immagini distorte
un es. veloce
'ti prendi un generatore di password, questo č un esempio:
codice:
'presa al volo da 4GuyfromRolla, ce ne sono tante anche qui nel forum basta che cerchi
Function generatePassword( allowNumbers )
NUMLOWER = 48 ' 48 = 0
NUMUPPER = 57 ' 57 = 9
LOWERBOUND = 65 ' 65 = A
UPPERBOUND = 90 ' 90 = Z
LOWERBOUND1 = 97 ' 97 = a
UPPERBOUND1 = 122 ' 122 = z
PASSWORD_LENGTH = 6
' initialize the random number generator
Randomize()
newPassword = ""
count = 0
DO UNTIL count = PASSWORD_LENGTH
If allowNumbers Then
pwd = Int( ( NUMUPPER - NUMLOWER ) * Rnd + NUMLOWER )
Else
' generate a num between 2 and 10 ;
' if num > 4 create an uppercase else create lowercase
If Int( ( 10 - 2 + 1 ) * Rnd + 2 ) > 4 Then
pwd = Int( ( UPPERBOUND - LOWERBOUND + 1 ) * Rnd + LOWERBOUND )
Else
pwd = Int( ( UPPERBOUND1 - LOWERBOUND1 + 1 ) * Rnd + LOWERBOUND1 )
End If
End If
newPassword = newPassword + Chr( pwd )
count = count + 1
Loop
generatePassword = newPassword
End Function
'Crei una password e la inserisci nelle session
'(passando true crei una password alfanumerica,
'altrimenti č solo alfabetica
Session("fakeCaptcha") = generatePassword(true)
.... + avanti nell'html inserisci un input di controllo
CODICE DI CONTROLLO:
<%=Session("fakeCaptcha")%>
<label for="controllo">Riscrivi qui il codice di controllo
<input type="text" value="" id="controllo" name="controllo" />
<input type="submit" id="azione" name="azione" />
</label>
al submit controlli
if Request("azione") <> "" then
if Request("controllo") = Session("fakeCaptcha") then
'ok pallino entra
else
' levati di ulo
end if
end if
non uno script sicuro al 100% ma se qualcuno ha tempo da perdere per creare uno script che parsi l'html del tuo login solo per inserire commenti in automatico nel tuo guestbook, be' allora gli devi avere fatto qualcosa di male