Home > Web Mania > Un facile CAPTCHA in Javascript

Un facile CAPTCHA in Javascript

December 14th, 2006 Lascia un commento Vai ai commenti

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.

 

Approfondimenti online

La tecnologia informatica ha fatto passi da gigante. In modo particolare Google, che con il suo analizzatore di testo, è in grado di proporre collegamenti contestuali a quanto hai appena letto. Questi i link pubblicitari proposti da Adsense.

Categorie: Web Mania Tag:
  1. December 14th, 2006 at 10:03 | #1

    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!

  2. December 15th, 2006 at 17:38 | #2

    ecco perchè non riuscivo a postare dal balckbarry!
    mavavavavvavavav ;)

  3. December 15th, 2006 at 17:48 | #3

    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.

  4. A
    September 4th, 2008 at 14:31 | #4

    a

  5. September 4th, 2008 at 14:33 | #5

    B

  6. November 19th, 2008 at 14:19 | #6

    wrong

    :P :P :P

  7. November 19th, 2008 at 14:23 | #7

    @juan: what is wrong?

  1. Ancora nessun trackback.

Additional comments powered by BackType