quarta-feira, 14 de março de 2012

Gerar imagem CAPTCHA em PHP

CAPTCHA é um acrônimo da expressão "Completely Automated Public Turing test to tell Computers and Humans Apart" (teste de Turing  público completamente automatizado para diferenciação entre computadores e humanos): um teste de desafio cognitivo, utilizado como ferramenta anti-spam, desenvolvido pioneiramente na universidade de Carnegie-Mellon. Como o teste é administrado por um computador, em contraste ao teste de Turing padrão que é administrado por um ser humano, este teste é na realidade corretamente descrito como um teste de Turing reverso.

//Definindo o formato do arquivo
header("Content-type: image/jpeg");
//Capturando o código passado via GET
$authCode = $_GET['code'];
//Criando a imagem 70x35 px
$imagem = imagecreate(70, 35);
//Definindo a cor de fundo da imagem
$fundo = imagecolorallocate($imagem, 242, 242, 236);
//Definindo a cor da fonte
$fonte = imagecolorallocate($imagem, 0, 0, 0);
//Gerando imagem
imagestring($imagem, 10, 10, 10, $authCode, $fonte);
//Renderizando a imagem
imagepng($imagem);


Este é o aquivo que vai criar efetivamente a imagem de acordo com o código passado por parâmentro.
Para exibição, vamos ao outro arquivo.
$code = rand(100000,999999);
No arquivo acima, geraremos um código randômico e passaremos como parâmetro no "src" da imagem.
<img src="gera_captcha.php?code=<?=$code ?>" />
Este é um exemplo simples que ajuda a entender o funcionamento desse modelo de segurança altamente utilizado em formulários web.

0 comentários:

Postar um comentário

 
Design by Scooby Doo jogos