Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2006, 21:51
Avatar de c0lo
c0lo
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires
Mensajes: 281
Antigüedad: 18 años, 9 meses
Puntos: 1
Validacion Antispam

Buenas. Recién empiezo con el tema del PHP y seguridad web. Y quise hacer un buen sistema Antispam (o que funcione medianamente bien) de esos que te pida que ingreses una serie de caracteres para continuar navegando.

La idea es que yo hice el siguiente codigo. Quería preguntarles que les parece, si esta bien, si realmente vale la pena, si es facil de "esquivar" y si tiene mejora pendiente. Bienvenida sea ;)

Código PHP:
<div style="width:300px; height:230px; background:#999; padding:5px; border: 2px solid #333; text-align: center; margin:auto;">
<?php
//
// Aca agarro el ingreso y el numero que salio random
//              y pregunto si coinciden..
function letra()
{
    
$cadena '';
    for (
$i 0$i<8$i++)
    {
        if(
mt_rand(0,1) == 1)
        {
            
$cadena=$cadena chr(mt_rand(65,90));
        }
        else
        {
            
$cadena=$cadena mt_rand(0,9);            
        }
    }
    return 
$cadena;    
}

$numero $HTTP_POST_VARS['numero'];
$ingreso $HTTP_POST_VARS['ingreso'];

if (
$HTTP_GET_VARS["envio"] == "si"){
  if(
$ingreso==$numero){
    echo 

          <p><u><b>Pasaste!</b></u></p>
          <br /><br />
          <p><a href="php.php">volver</a></p>
         '
//aca coincidio//
     
}
  else{
    echo 
'
          <p><u><b>Bardiaste!</b></u></p>
          <br /><br />
          <p><a href="php.php">volver</a></p>
         '
//aca no coincidio//
     
}
}
else{
// El script "empieza" aca!
// genero un numero random...

$random letra();

echo 
'
      <p><b>Por favor ingrese el siguiente número:</b></p>
      <br />
      <p><b><u>'
.$random.'</u></b></p>
      <br />
      <form action="php.php?envio=si" method="post">
      <input name="numero"  type="hidden" value="'
.$random.'" />
      <input name="ingreso" style="text-transform:uppercase"; type="text" size="25" />
      <br /><br />
      <input type="submit" value="Enviar" />
      </form>      
     '
;
}
//
// Aca Envia el Formulario como php.php?envio=si ...
?>
</div>
Desde ya, gracias.
__________________
Nuestro amo juega al esclavo // de esta tierra que es una herida
que se abre todos los días // a pura muerte, a todo gramo.
Violencia es mentir.