Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/10/2004, 16:17
Avatar de Reynier
Reynier
 
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Código de seguridad visual

Estoy tratando de crear un código de seguridad visual para solicitarlo a los usuarios a la hora de registrarse en mi sitio. Estuve buscando en las FAQ's y encontre esto:
Código PHP:
# Fichero: passwd.php
<?php
 
function DoPassBuild($num,$may){
  if(empty(
$num)){$num=5;}
   
$voc = array ("a","e","i","o","u");
   
$con = array ("b","c","d","f","g","h","j","k","l","m","n","ñ","p","q","r","s","t","w","x","y","z");
   
$psw "";
   
$vc  mt_rand(0,1);
    for (
$n=0$n<$num$n++){
     if (
$vc==1){
      
$vc=0;
      
$psw .= $con[mt_rand(0,count($con)-1)];
     }
      
$psw .= $voc[mt_rand(0,count($voc)-1)];
      
$psw .= $con[mt_rand(0,count($con)-1)];
     }
   
$psw ereg_replace ("q","qu",$psw);
   
$psw ereg_replace ("quu","que",$psw);
   
$psw ereg_replace ("yi","ya",$psw);
   
$psw ereg_replace ("iy","ay",$psw);
   if(empty(
$may)){
    
$psw strtoupper($psw);
   }
    
$psw substr($psw,0,$num);
    
session_name('codePaswSession');
    
session_start();
    
session_cache_limiter('nocache,private');
    
ini_set("session.cache_limiter","6400");
    if(empty(
$_SESSION['psw'])){
     
$_SESSION['psw'] = $psw;
    }else{
     
$psw $_SESSION['psw'];
    }
    return 
$psw;
 }

 function 
DoPassShow($psw,$fontSize,$winSizeW,$winSizeH) {
  if(empty(
$psw)){$psw "ERROR PASSW";}
  if(empty(
$fontSize)){$fontSize=5;}
  if(empty(
$winSizeW)){$winSizeW=72;}
  if(empty(
$winSizeH)){$winSizeH=18;}
  
$width  ImageFontWidth($fontSize) * strlen($string);
  
$height ImageFontHeight($fontSize);
  
$img ImageCreate($winSizeW,$winSizeH);
  
$bgColor ImageColorAllocate($img,102,102,202);
  
$txColor ImageColorAllocate($img,220,220,220);
  
ImageFilledRectangle($img,0,0,$winSizeW,$winSizeH,  $bgColor);
  
ImageString($img,$fontSize,0,0,$psw,$txColor);
  
header("content-type: image/jpeg");
  
ImagePng($img);
  
Imagedestroy($img);
}
 
DoPassShow(DoPassBuild(8,1),5,72,18);
?>
según la FAQ la forma de uso sería esta:
Código HTML:
<img src='passwd.php'> 
pero a la hora de ver el resultado en la página me sale el tipico cuadrito con la cruz. Mis librerías GD están funcionando porque ya lo comprobé en el php.ini y con la función phpinfo(). Esto lo hice una vez con ayuda del Foro pero no encuentro ese POST por ningún lado. Me dan una mano ?
__________________
Ing. Reynier Pérez Mira