info@cystec.com.ar +54 9 3874573362

Verificación De Imagen Captcha

Una buena forma de evitar el envío automático de formularios al crear un formulario web es agregar algún tipo de verificación. Una de las mejores formas es utilizar una verificación de imagen, también llamada captcha. Lo que hace es crear dinámicamente una imagen con una cadena aleatoria mostrada en ella. Luego, se le pide al visitante que escriba esa cadena en un campo de texto y, una vez que se envía el formulario, verifica si la cadena en la imagen coincide con la ingresada por el usuario. Debido a que no existe una manera fácil de leer un texto a partir de una imagen (reconocimiento de imágenes), esta es una buena manera de proteger sus formularios web de los spammers.

Para hacer este CAPTCHA, sugeriría usar una variable de sesión donde almacene la cadena generada y mostrada en esa imagen generada dinámicamente.


         <?php
            session_start();
            $text = rand(10000, 99999);
            $_SESSION["vercode"] = $text;
            $height = 25;
            $width = 65;

            $image_p = imagecreate($width, $height);
            $black = imagecolorallocate($image_p, 0, 0, 0);
            $white = imagecolorallocate($image_p, 255, 255, 255);
            $font_size = 14;

            imagestring($image_p, $font_size, 5, 5, $text, $white);
            imagejpeg($image_p, null, 80);
            ?>
        

Guarde este código en un archivo llamado captcha.php. Lo que hace este script es generar un número aleatorio de 10000 a 99999 y luego asignarlo a $ _SESSION ['vercode']. Luego genera una imagen de 25x65 píxeles con fondo negro y texto blanco usando el tamaño 14. Por lo tanto, si carga ese archivo captcha.php en su sitio web y abre http://www.site.com/captcha.php, verá una imagen mostrando un entero aleatorio. Recibirá un nuevo entero aleatorio cada vez que actualice esa página.

A continuación, debemos crear nuestro formulario web.


            <form action="submit.php" method="post"> 
            Comment: <textarea name="coment"></textarea> 
            Enter Code <img src="captcha.php"><input type="text" name="vercode" /> 
            <input type="submit" name="Submit" value="Submit" /> 
            </form>
        
El código anterior creará un formulario con un solo cuadro de área de texto, una imagen generada aleatoriamente usando el script captcha.php y un campo de texto donde tendrá que ingresar el código de verificación. Todo lo que tenemos que hacer ahora es crear el script submit.php que verificará si el código de verificación que ingresa coincide con el que se ha generado aleatoriamente.

          <?php
            session_start();
            if ($_POST["vercode"] != $_SESSION["vercode"] or $_SESSION["vercode"] == '') {
                echo  '<strong>Incorrect verification code.</strong>';
            } else {
                // add form data processing code here 
                echo  '<strong>Verification successful.</strong>';
            };
            ?>
        
Limitado

Tienda en Linea

...

$1500 / mes

  • Incluye hosting
  • Optimización para buscadores
  • Medios de pagos y envios
  • Gestion de Ventas y Clientes
  • Apto para móviles y tablets
  • Hasta 5 Modificaciones Mensuales
  • Carro de compras

Sistema De Reserva De Hotel

Nuestro sistema de reserva de habitaciones es altamente personalizable y compatible con varios tipos de sitios web.