GM Crazy 0 Postado Agosto 23, 2007 Share Postado Agosto 23, 2007 Criar sistema de - Captcha CAPTCHA é um acrônimo da expressão em língua inglesa "Completely Automated Public Turing test to tell Computers and Humans Apart" que pode ser traduzida como "Teste de Turing público e completamente automático para distinguir computadores e humanos. Esta ferramenta tem o objetivo de determinar, mediante uma ou mais perguntas, se o utilizador é um ser humano e não um computador ou, mais precisamente, um bot (robôs que executam tarefas pré-programadas). O teste captcha mais comum é o que solicita que o usuário escreva uma série de letras ou números que aparecem num quadro, geralmente um pouco distorcidos ou ofuscados para evitar o reconhecimento por máquinas. A biblioteca GD do PHP deve esta ativada 1º crie o arquivo gera.php com o seguinte conteúdo: <?php$largura = 180; $altura = 30; $imagem = imagecreate($largura,$altura); // cria uma imagem $letras = array('0','1','2','3','4','5','6','7','8','9'); // Coloque aqui o conteudo que deseja para aparecer na imagem $tam_letras = count($letras)-1; /*Fim possives letras*/ /*Cores da imagem*/ $cinza = imagecolorallocate($imagem,0xF8,0xF8,0xF8); $cinza_escuro = imagecolorallocate($imagem,0xCC,0xCC,0xCC); $vermelho = imagecolorallocate($imagem,0xFF,0x00,0x00); $azul = imagecolorallocate($imagem,0x0F,0x93,0xFF); $verde = imagecolorallocate($imagem,0x00,0x66,0x00); $rosa = imagecolorallocate($imagem,0xFF,0x1A,0x98); $preto = imagecolorallocate($imagem,0x00,0x00,0x00); $marrom = imagecolorallocate($imagem,0xDC,0x91,0x3D); $laranja = imagecolorallocate($imagem,0xFF,0x8C,0x24); $cores = array($vermelho,$azul,$verde,$rosa,$preto, $marrom,$laranja); $tam_cores = count($cores)-1; /*Fim das cores*/ /*Escrevendo linhas de fundo*/ $nro_linhas = 20; for($i=0;$i<$nro_linhas;$i++){ $x1 = rand(0,$largura); $x2 = rand(0,$largura); $y1 = rand(0,$altura); $y2 = rand(0,$altura); imageline($imagem,$x1,$y1,$x2,$y2,$cinza_escuro); } /*Fim linhas de fundo*/ /*Escrevendo arcos de fundo*/ $nro_arcos = 20; for($i=0;$i<$nro_arcos;$i++){ $cx = rand(0,$largura); $w = rand(0,$largura); $cy = rand(0,$altura); $h = rand(0,$altura); $s = rand(0,360); $e = rand(0,360); imagearc($imagem,$cx,$cy,$w,$h,$s,$e,$cinza_escuro); } /*Fim arcos de fundo*/ /*Escrevendo as Letras na imagem*/ $palavra = ''; $xPos = 0; for($i=0;$i<6;$i++){ $xPos += rand(10,25); $yPos = rand(10,15); $j = rand(0,$tam_cores); $k = rand(0,$tam_letras); $palavra .= $letras[$k]; imagestring($imagem, 5, $xPos, $yPos, $letras[$k], $cores[$j]); } /*fim escrevendo letras na imagem*/ session_name('captcha'); session_start(); $_SESSION['palavra'] = $palavra; header("Content-type: image/png"); imagepng($imagem); imagedestroy($imagem); ?> Agora vamos criar, no mesmo diretório, captcha.php: <?php session_name('captcha'); session_start(); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Captcha</title> <body> <?php if(isset($_POST['minhaPalavra'])){ if($_SESSION['palavra'] == $_POST['minhaPalavra']) echo 'ok'; else echo 'errado'; } ?> <form action="checa.php" method="post"> <img src="gera.php"> <br>Verificação: <input type="text" name="minhaPalavra"> <input type="submit" name="ok" value="Ok"> </form> </body> </html> o resultado será assim: Link para o comentário Compartilhar em outros sites More sharing options...
HeNnet 3 Postado Agosto 25, 2007 Share Postado Agosto 25, 2007 Que massa, isso é aqueles negócios que tem em cadastro x] Sempre quis saber isso mas não sabia o nome vou dar uma olhada e tentar implementar aqui x] Abraços HeNnET B)\\ Link para o comentário Compartilhar em outros sites More sharing options...
Arkilus 0 Postado Agosto 26, 2007 Share Postado Agosto 26, 2007 @hennet Sugiro que use o PhpCaptcha: http://www.ejeliot.com/pages/2 Link para o comentário Compartilhar em outros sites More sharing options...
robertovita 0 Postado Abril 10, 2010 Share Postado Abril 10, 2010 no mei site ta dando isso quando vou criar uma account To use reCAPTCHA you must get an API key from http://recaptcha.net/api/getkey o que eu faço? ja me cadastrei, mais ainda nao consigo criar por causa desse captcha desde ja grato Link para o comentário Compartilhar em outros sites More sharing options...
xermelly 0 Postado Maio 8, 2010 Share Postado Maio 8, 2010 [quote<form action="checa.php" method="post"> Não estaria faltando o script desse checa.php ? se for posta ai pois eu fiz td o que vc flo e deu erro aki Link para o comentário Compartilhar em outros sites More sharing options...
zandro3210 5 Postado Agosto 10, 2010 Share Postado Agosto 10, 2010 To COm Mesmo Problema Coloquei isso ai tb e continua =/ Link para o comentário Compartilhar em outros sites More sharing options...
tyuahoi 80 Postado Agosto 10, 2010 Share Postado Agosto 10, 2010 para terminar com o problema basta ir em: C:\xampp\htdocs\config abra o config.php procure pela linha: ['verify_code'] do lado tara 1 coloque 0 pronto. Link para o comentário Compartilhar em outros sites More sharing options...
zandro3210 5 Postado Agosto 10, 2010 Share Postado Agosto 10, 2010 para terminar com o problema basta ir em: C:\xampp\htdocs\config abra o config.php procure pela linha: ['verify_code'] do lado tara 1 coloque 0 pronto. Cara To Achando nâo o meu aquita escrito config-and-functions não achei n =/ Valeu mano eu Achei tava Na Pasta COnfig Te amo se me ajuda de mais Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados