wordpress: formulario de contacto (Contact Form 7) y captcha de google (no soy un robot)

Buenas a tod@s

Tipico tipiquisimo de un sitio web, un formulario de contacto:

  • descargamos el plugin Contact Form 7 y lo instalamos, si vamos a configuracion ya viene creado por defecto un formulario base. Este nos proporciona un codigo entre corchetes [ ] que podremos copiar en nuestra pagina de contacto donde queremos que aparezca … el tema css es harina de otro costal
  • queremos captcha en el form para evitar en la medida de lo posible sl SPAM? yo me he descargado el Contact Form 7 Captcha para configurarlo con Google Captcha (mp soy un robot). En la info del plugin nos explican perfectamente que tenemos que ir a https://www.google.com/recaptcha/admin para obtener las keys necesarias que introduciremos en el plug en nuestro wordpress
  • Copiamos el codigo entre corchetes que proporciona el plugin del captcha y lo ponemos antes del boton de enviar (editando el plugin de formulario de contacto, el que ya teniamos creado)

La verdad que bastante sencillo todo siguiendo instrucciones de unos y de otros. Y funciona a las mil maravillas xDD

Anuncios

PHP: Crear un captcha by bufa.es

Articulo de www.bufa.es

Vamos a ver como crear un captcha desde php. Un captcha es una palabra aleatoria mostrada como imagen que se utiliza para evitar que los robots accedan a determinadas web. Este tipo de código de verificación es utilizada para evitar el spam en los formularios de las páginas web.

A continuación una función en php para generar un captcha, con un parámetro que le pasaremos el número de caracteres que formaran la nueva imagen.

function captcha($numcaracteres = 6){$caracteres = '23456789bcdfghjkmnpqrstvwxyz';
$codigo = '';
$i = 0;
while ($i < $numcaracteres) {
$codigo .= substr($caracteres, mt_rand(0, strlen($caracteres)-1), 1);
$i++;
}

// Iniciamos sesión
$_SESSION["captcha"] = $codigo;

// Medidas
$ancho = 100;
$alto = 25;

// Creamos nueva imagen
$imagen = ImageCreate($ancho, $alto);

// Definimos 3 Colores
$color1 = ImageColorAllocate($imagen, 255, 255, 255); // blanco
$color2 = ImageColorAllocate($imagen, 0, 0, 0); // negro
$color3 = ImageColorAllocate($imagen, 255, 0, 0); //rojo

// Color background
ImageFill($imagen, 0, 0, $color2);

// Color texto
ImageString($imagen, 5, 30, 3, $codigo, $color1);

// Líneas diagonales
imageline($imagen, 0, 5, $ancho, 5, $color3);
imageline($imagen, $ancho/4, 0, $ancho/2, $alto, $color3);
imageline($imagen, 0, 18, $ancho, 18, $color3);
imageline($imagen, 46, 0, 86, $alto, $color3);

header("Content-Type: image/jpeg");

// Generamos la nueva imágen jpg
ImageJpeg($imagen);

// Liberamos recursos
ImageDestroy($imagen);
}

// Modo de uso
captcha();

Descargar