• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Imagem de verificação anti spam em php

maar3amt

Administrator
Team GForum
Entrou
Set 19, 2006
Mensagens
7,803
Gostos Recebidos
28
Boas pessoal deixo aqui uma simples versão de uma imagem de verificação antispam baseada em cookies.


Espero que seja útil a alguém.


imagem.php
<?php
/*
Imagem de verificação by Gforum Digital - Fórum das Tecnologias Digitais!!!
*/
$texto = rand(10000,99999);
setcookie('codigo', "$texto"); //Aqui pode ser adicionado um * para melhorar a compatibilidade de parsing no JavaScript
$height = 25;
$width = 65;

$imagem_p = imagecreate($width, $height);
$preto = imagecolorallocate($imagem_p, 0, 0, 0);
$branco = imagecolorallocate($imagem_p, 255, 255, 255);
$fonte = 14;

imagestring($imagem_p, $fonte, 5, 5, $texto, $branco);
imagejpeg($imagem_p, null, 80);
?>


O código acima vai gerar uma imagem com números randomicos e ao mesmo tempo criar o cookie "codigo" no browser do cliente.


Para fazer uso do código acima basta que introduzam na vossa página php o seguinte testamento html dentro do vosso formulário!


<table>
<td vailgn="top">
<img src="imagem.php">
</td>
<td>
<input type="text" name="codigo" id="codigo">
</td>
</table>


Para fazer a validação da imagem é muito simples basta que adicionem o seguinte código no vosso ficheiro de processamento de formulário:

<?php
if(isset($_POST['codigo'])) {

if($_POST['codigo'] =! "$_COOKIE['codigo']) {

echo"O código de verificação está incorrecto!";
}

}
else{
echo"Ocorreu um erro com o código antispam";
?>

Isto é um exemplo básico, a partir daqui podem melhorar o código.


Um abraço
 
Topo