Comunidad de diseño web y desarrollo en internet online

problema con header location

Citar            
MensajeEscrito el 08 Ene 2009 05:49 am
hola amigos les mando esta pregunta por que ya me trae loco, tengo una imagen que al dar clic me manda a un script en php que guarda en un archivo de texto el numero de clicks dados sobre la imagen esto me funciona con register globals=on, pero al ponerlo en off ya no me funciona
el codigo es este
codigo html de imagen

Código :

<img src="1.jpg" width="176" height="220" border="0" usemap="#Map" />
<map name="Map" id="Map"><area shape="rect" coords="4,8,170,214" href="direccionador.php?URL=http://www.google.com" />

codigo php de direccionador

Código :

<?php
header('Location:'.$URL);
// Declaramos el archivo, en donde se acumulará el numero de visitas.
$archivo = "banner.txt";
// Abrimos el archivo como solo de lectura 
$abre = fopen($archivo, "r");
// Leemos el contenido del archivo, cabe decir que la funcion fread(int fp, int length), lo que hace, es leer hasta length 
//bytes del archivo referenciado en el apuntador fp. 
$total = fread($abre, filesize($archivo));
// Una vez leido cerramos la conexión al archivo.
fclose($abre);
// Abrimos nuevamente el archivo,pero ahora para agregar datos.
$abre = fopen($archivo, "w");
// Cada vez que se muestre la página, que se acumule una visitas, o sea aumentamos el contador en 1, cada vez. 
$total =  $total + 1;
$txt="hola";
// Y reemplazamos el antiguo valor, por la nueva cantidad de visitas.
$grabar = fwrite( $abre,$total );
// Cerramos la conexión al archivo (Ahora si es la última).
fclose($abre);
?>

muchas gracias de antemano por las respuestas

Por pandro

Invitado



 

firefox
Citar            
MensajeEscrito el 08 Ene 2009 02:23 pm
Cuando register_globals esta en ON tus scripts aceptaran cualquier tipo de variables, ya sean de formularios, desde la url, etc. Y al permitir esto el codigo es mas inseguro, y como se dieron cuenta de esto ahora (o mas bien desde ya hace tiempo) por defecto el PHP viene con register_globals en OFF. Cuando esta en OFF vas a tener que declarar si tus variables son de POST, GET, SESSION, etc. En tu caso el problema esta en la variable $URL, tienes que declararla asi:

Código PHP :

header('Location:'.$_GET['URL']);


Puedes informarte mas aqui

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 09 Ene 2009 01:16 am
Muchisimas gracias drarock ya lo probe y funcionó ^^ ^^ te estoy enternamente agradecido a si pues que de ahora en adelante hay que programar como se debe y con el tema de seguridad de los scripts ante todo
gracias!! :D :D :D

Por pandro

Invitado



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.