*   >> Leitura Educação Artigos >> tech >> desenvolvimento web

Captcha - A maneira mais simples de fazer it

Um grande problema hoje é spam. A melhor maneira de combater o spam é de Captcha. Captcha faz a diferença entre um computador e um ser humano. Os computadores não podem ler o texto em uma imagem e é por isso que nós vamos usar uma foto também.

Vamos começar criando o captcha.php arquivo. Este arquivo irá criar uma foto com um texto escrito por ele

header ('Content-type: image /jpeg.

'); //Uma imagem JPEG será transmitido $ width = 60; //Largura da imagem $ height = 24; //Altura da imagem $ my_image = imagecreatetruecolor ($ largura, altura $); //Criar truecolor imagem imagefill ($ my_image, 0, 0, 0xFFFFFF); //Fundo branco

Até agora conseguimos criar uma imagem que tem um fundo branco, 60 pixels de largura e 24 pixels de altura.

Vamos adicionar algumas distorções:

for ($ c = 0; $ c $ x = rand (0, $ width-1); $ y = rand (0, $ 1 em altura); imagesetpixel ($ my_image , $ x, $ y, 0x000000);}

Nós inserido 40 pixels pretos na imagem Estes pixels terá diferentes coordonates cada vez que uma imagem é carregada

Vamos escrever o texto.. o quadro:..


$ x = rand (1,10); //X coordonate do canto superior esquerdo $ y = rand (1,10); //Y coordonate do canto superior esquerdo $ rand_string = rand (10000,99999); //Obter um número entre 10000 e 99999 imagestring ($ my_image, 5, $ x, $ y, $ rand_string, 0x000000); //Escreve o número obtido anteriormente na imagem

Vamos salvar a seqüência de caracteres escritos na imagem em um cookie. Vamos ler este cookie quando um formulário é submetido para comparar os dados.


setcookie ("cookie-captcha", (md5 ($ rand_string)) , time () + 3600, "/"); imagejpeg ($ my_image); //Criar a imagedestroy imagem jpeg ($ my_image); //Eliminar a imagem jpeg

Neste exemplo o nome do cookie é bolinho -captcha, seu conteúdo será o valor codificado md5 da seqüência aleatória obtido anteriormente (o número escrito na imagem), será válido por uma hora em todo o seu domínio.

A imagem é excluída (imagedestroy ) para economizar espaço no servidor

O arquivo captcha.php completo será:

header ('Content-type: image /jpeg.

'); $ width = 60; $ height = 24; $ my_image = imagecreatetruecolor ($ largura, altura $); imagefill ($ my_image, 0, 0, 0xFFFFFF); for ($ c = 0; $ c $ x = rand (0, $ width-1); $ y = rand (0, $ altura-1); imagesetpixel ($ my_image, $ x, $ y, 0x000000);} $ x = rand (1,10); $ y = rand (1,10); $ rand_string = rand (10000,99999); imagestring ($ my_image, 5, $ x, $ y, $ rand_string, 0x000000); setcookie ("cookie-captcha", (md5 ($ rand_string)), time () + 3600, "/"); imagejpeg ($ my_image); imagedestroy ($ my_image);?>

Page   <<       [1] [2] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.