Como criar um Captcha simples com php


Este código está na categoria php e mostra o seguinte assunto: Como criar um Captcha simples com php e javascript, em destaque estão os marcadores php, código, php, javascript,

Esse tipo de teste é um Captcha, acrônimo de Completely Automated Public Turing Test to tell Computers and Humans Apart (Teste de Turing público completamente automatizado para distinguir computadores de seres humanos). Eles também são conhecidos como um tipo de prova interativa humana (Human Interaction Proof – HIP). Você provavelmente já viu montes de testes Captcha em sites na Internet. O mais comum é uma imagem com várias letras distorcidas. Seu trabalho é digitar a série correta de letras em um formulário. Se as letras baterem com aquelas da imagem distorcidas, você passa no teste.

Segue um modelo simples em php dividido em 3 arquivos.

1 – Página principal

<img src="codigo_captcha.php">
<form name="form_consulta" method="post" action="validar_captcha.php">
  digite o código: 
<input name="codigo" type="text" id="codigo2" size="20"> 
<input type="submit" name="Submit" value="enviar">
</form>

2 – Captcha (codigo_captcha.php)

(Salve a fonte verdana.tff no servidor) baixar fonte

<?php
session_start(); // inicial a sessao

//para gerar o codigo aleatorio
$input = array("a","b","c","d","e","0","1","2","3","4","5","6","7","8","9");
//escolhe 5 elementos
$rand_keys = array_rand($input,5);

//codigo criado
$codigo = $input[$rand_keys[0]].$input[$rand_keys[1]].$input[$rand_keys[2]].$input[$rand_keys[3]].$input[$rand_keys[4]];


header("Content-type:image/gif");
$img = imagecreate(80,30);
$preto = imagecolorallocate($img,0,0,0);
//defino algumas outras cores
$branco = imagecolorallocate($img,255,255,255);
//IMPORTANTE: Neste exemplo copie o arquivo de fonte para a mesma pasta que este arquivo
imagettftext($img,15,10,10,28,$branco,"verdana.ttf","$codigo");
imagegif($img);
imagedestroy($img);

$_SESSION["codigo"] = $codigo ;
?>

3 – Validar (validar_captcha.php)

<?php
session_start();
if ($_POST["codigo"] == $_SESSION["codigo"])
{
echo "<h1>Código correto</h1>";
}
else
{
echo "<h1>Código incorreto</h1>";
}
?>
<a href='javascript:history.go(-1);'>Retornar</a>

 

Categoria: html, php | | Postado por joemaster em 23/jun/2020

<< Anterior

Próximo >>

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *