Implementazione di un captcha in due minuti


Un captcha, letteralmente, è un Completely Automated Public Turing test to tell Computers and Humans Apart, ovvero è un test per capire se, chi sta compilando il form, è un bot oppure un umano. Questo serve ad evitare di essere riempiti di spam dai bot che rimenpono i form di spazzatura.

In questo esempio, che potete scaricare qui, io ho usato Cryptographp v1.4, un captcha molto semplice da usare e completamente personalizzabile per quanto riguarda la grafica, in maniera da essere facilmente adattato alla grafica del sito.

Per prima cosa dovete scaricarvi l’ultima versione dal sito Cryptographp insieme ad un file di configurazione per la grafica, e mettere il tutto all’interno di una directory, ad esempio crypt.

Poi, con quattro linee di codice qui sotto avrete il vostro captca completo e funzionante.

<?php
  //include captcha code
  $cryptinstall="./crypt/cryptographp.fct.php";
  include $cryptinstall;

  //Se post del form
  if($_SERVER[‘REQUEST_METHOD’]=="POST") {
    if(chk_crypt($_POST[‘code’]))
     die("Corrretto");
    else
      echo "Codice sbagliato";
  }

?>

<form action="index.php" method="post">
  <table>
    <tr><td><?php dsp_crypt(0,1); ?></td></tr>
    <tr><td>Inserisci il codice di verifica:<input type="text" name="code"></td></tr>
    <tr><td><input type="submit" name="submit" value="Send"></td></tr>
  </table>
</form>
 

Ovviamente Cryptographp non è l’unico captcha che potete utilizzare, a me piace molto in quanto è semplice da usare e molto configurabile a livello di aspetto grafico, ma ce ne sono altri molto simpatici, tra i quali segnalo questi due:

  • MathGuard PHP form anti-spam protection che, a differenza dei soliti, vi chiede di risolvere semplici operazioni matematiche.
  • reCaptcha che, a differenza dei soliti, puo utilizzare file audio per il controllo, oppure, vi chiede di digitare due parole, una che conosce ed una che non conosce (presa da vecchi libri che si tenta di digitalizzare), assume che se hai indovinato la prima anche la seconda potresti averla scritta giusta, quindi inserisce la tua soluzione in un database, se molti altri hanno risposto come te allora la parola è giusta. Tutto questo per aiutare Internet Archive nella loro opera di digitalizzazione di libri.

Lascia un commento

Categorie

Cerca

Meta