Código de la miniaplicación antispam

Anuncio
Fichero index.php
<?
// Generación del código
$cadena = "";
for($i = 0; $i < 10; $i++)
$cadena .= chr(rand(65, 90));
?>
<html>
<head>
<script type="text/javascript" language="javascript">
function comprobarReferencia()
{
// Lectura del valor de campo
texto = document.getElementById('campo').value;
// Si no hay texto se avisa al usuario
if(texto == '')
alert('Introduce el texto que ves en la imagen.');
// En caso de haber texto se comprueba si coincide con el código
else if(texto == '<? echo $cadena ?>')
alert('Código correcto.');
else
alert('El código es incorrecto.');
document.getElementById('campo').focus();
}
</script>
</head>
<!-- No se utiliza una hoja de estilos, por no añadir más archivos al
ejemplo -->
<body style="background-color: #EEF0FF">
<div style="background-color: #FEFEFE; width: 400px; padding: 10px; marginleft: auto; margin-right: auto; margin-top: 200px;">
<p>Introduce el código que ves en la imagen para demostrar
que eres un humano genuino y no una copia :P</p>
<table align="center"><tr>
<td><img src="antispam.php?texto=<?echo $cadena?>" align="left" /></td>
<td><input id="campo" type="text" size="14"></td>
<td><input type="button" value="Validar"
onclick="comprobarReferencia();"/></td>
</tr></table>
</div>
</body>
</html>
Fichero antispam.php
<?php
$cadena = "";
$cadena = $_GET['texto'];
if($cadena != "")
{
// Crea una imagen de 100*30
$im = imagecreate(110, 24);
// Fondo azul claro y texto azul oscuro
$fondo = imagecolorallocate($im, 220, 230, 255);
$colortexto = imagecolorallocate($im, 100, 110, 205);
// Escribe la cadena en la parte superior
imagestring($im, 5, 10, 4, $cadena, $colortexto);
// Muestra la imagen
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
}
?>
Descargar