Un facile CAPTCHA in Javascript

Volevo proporvi un semplice captcha in Javascript, per sapere cosa ne pensavate, soprattutto sulla sua validità.

Si basa sul principio che chi attacca un sito va a leggere ciò che compare nel HTML o al massimo una immagine, ma ciò che non è presente teoricamente non riesce a leggerlo.

 

Il numero "captcha" viene generato "lato client" tramite JS, e immesso all’interno di un campo input hidden.

Il controllo è doppio:

lato client con javascript per controllare la corrispondenza tra quanto inserito e quanto auto-generato (evento onload)

lato server con i due campi che arrivano url.captcha e url.captchaHidden

 

Conto sulla vostra opinione.

<script language="javascript">
function myLayer (x){
//individuo l’oggetto
if(document.layers){ // browser="NN4";
lay=document.layers[x];
}
if(document.all){ // browser="IE";
lay=eval("document.all." + x);
}
if(!document.all && document.getElementById){ // browser="NN6+ or IE5+ if you’re willing to dump the !document.all stuff";
lay=document.getElementById(x);
}
return lay;
}
function fnCaptcha(){
var numero=Math.random()*7*666;
var numero=Math.floor(numero);

myLayer("captchaNumber").innerHTML = numero;

document.frmCaptcha.captchaHidden.value = numero;
}
function fnCaptchaCheck(f){
if ((f.captcha.value == "") || (f.captcha.value == f.captchaHidden.value)){
alert("Numeri corrispondenti");
}else{
alert("Numeri diversi");
}
return false();
}
window.onload=function(){fnCaptcha();}
</script>

<h3>Prova Captcha</h3>
Inserisci il numero che vedi visualizzato tra le parentesi (<span id="captchaNumber"></span>)<br />
<form id="frmCaptcha" name="frmCaptcha" method="post" action="" onsubmit="return fnCaptchaCheck(this)">
<input name="captcha" type="text" id="captcha" />
<input name="captchaHidden" type="hidden" id="captchaHidden" />
<input type="button" name="Submit" value="Pulsante" />
</form>
<br />

Per aumentare il livello di sicurezza (non di molto) è consigliato fare transitare i dati via POST, quindi i campi si chiameranno: form.captcha e form.capthcaHidden.

Loading Facebook Comments ...

7 pensieri su “Un facile CAPTCHA in Javascript

  1. Merlinox

    Purtroppo sono stato costretto a metterlo anche in questo blog:
    per non fare la fine del ministro!
    Che gentaccia che c’è in giro che fa queste cose e anche che paga per questo spam schifoso!

    Rispondi
  2. Merlinox

    Sono stato costretto! Mi spiace.
    I mille controlli su parole e referer erano sempre troppo pochi.
    Mi arrivavano orde di commenti e mi dava fastidio fossero pubblicati finchè non ero connesso per moderarli!

    Questo pare andare bene.

    Rispondi

Rispondi a Merlinox Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *