<?php session_start(); /* se voce quiser que ele diferencie minúsculas de maiúsculas substitua isso $resposta = strtolower($_POST["CAPTCHA"]) != strtolower($_SESSION["CAPTCHA"]) por isso $resposta = $_POST["CAPTCHA"] != $_SESSION["CAPTCHA"]*/ if($_POST["CAPTCHA"]) $resposta = strtolower($_POST["CAPTCHA"]) != strtolower($_SESSION["CAPTCHA"])? "Você digitou CAPTCHA errado tente novamente" : "Você digito CAPTCHA corretamente"; $v = array("a","A","e","E","i","I","o","O","u","U"); $c = array("b","B","c","C","cr","CR","d","D","f","F","g","G","h","H","nh","NH","lh","LH","ch","CH","j","J","k","K","l","L","m","M","n","N","p","P","qu","QU","r","R","rr","RR","s","S","ss","SS","t","T","v","V","w","W","x","X","y","Y","z","Z","pr","PR","tr","TR"); $tamanho_palavra = rand(4,7); // defini minimo e o maximo de caracteres $Caractere = 0; // cria a palvra do CAPTCHA while($Caractere < $tamanho_palavra){ $V = $v[rand(0,count($v)-1)]; $C = $c[rand(0,count($c)-1)]; $palavra .=$C.$V; $Caractere = strlen($palavra); } $_SESSION["CAPTCHA"] = $palavra; // guardo a palavra gerada na sessão // começo a criar a imagem // $font = imageloadfont("fontes/lizze.gdf"); // carrego a fonte a ser usada $Nome = "CAPTCHA.png"; // define o nome da imagem gerada $imagem = ImageCreate(300,100); // define os tabanhos $branco = ImageColorAllocate($imagem, 255, 79, 79); // cor do fundo $w = 60; // define a largura do circulo $h= 60; // define a altura do circulo // faço os circulos para confundir os robos a função rand determina o minimo e o maximo de circulos for($n=0;$n<rand(2,4);$n++) { // cor da linha do circulo aqui eu fiz uma seleção que de valores randomicos para gerar cores do tom vermelho a verde $cordalinha = ImageColorAllocate($imagem, rand(10,255), rand(100,255), rand(0,100)); $i=0; $x = rand(0,285); $y = rand(0,85); $quantos = rand(10,100); for($i=0;$i<$quantos;$i++) { imagearc($imagem, $x, 20, $w-($i/5), $h-($i/5),rand(90,360),rand(90,360),$cordalinha); imagearc($imagem, $x, 20, $w+($i/5), $h+($i/5), rand(90,360),rand(90,360), $cordalinha); } } /// texto /// $cordotexto = ImageColorAllocate($imagem, rand(39,0), rand(18,100), rand(55,255)); ImageString($imagem, $font, rand(20,55), rand(20,35), $palavra, $cordotexto); // salva a imagem ImagePNG($imagem, $Nome ); // limpa a memória ImageDestroy($imagem); // coloca a imagem no diretório $destino = "./imagens/$Nome"; $copy = copy($Nome, $destino); ?> <table width="304" height="100" bgcolor="#ff4f4f"> <tr> <td> <img style=" position:absolute; width:300px; height:100px; text-align:center; z-index:1" src="imagens/fundo.png" /> <img src="imagens/CAPTCHA.png" /> </td> </tr> <tr> <td align="center"> digite o texto acima<br /> <form method="post"> <input type="text" size="30" name="CAPTCHA" /><input type="submit" value="Enviar" /><br /> <font size="-1">O programa não diferencia maiúsculas ou minusculas!</font> </form> </td> </tr> </table> <?php echo $resposta; ?>Obs: Cria uma pasta chamada imagens no local onde o script for executado ou altere o local para onde a imagem deve ir.
Veja este Exemplo abaixo:
download do exemplo
Para acompanhar todos os post relacionado a esse tema basta seguir esse link Criar captcha
Nenhum comentário:
Postar um comentário