Foros del Web » Programando para Internet » PHP »

Variable HTTP_REFERER en Internet Explorer

Estas en el tema de Variable HTTP_REFERER en Internet Explorer en el foro de PHP en Foros del Web. Hola buenas: Tengo una página php que a través de un link abro una ventana nueva con código javascript donde cargo otra página php donde ...
  #1 (permalink)  
Antiguo 25/07/2006, 12:01
 
Fecha de Ingreso: noviembre-2005
Mensajes: 312
Antigüedad: 12 años
Puntos: 1
Variable HTTP_REFERER en Internet Explorer

Hola buenas:

Tengo una página php que a través de un link abro una ventana nueva con código javascript donde cargo otra página php donde me interesa capturar con HTTP_REFERER, la página "padre". Pero he podido comprobar que con Internet Explorer no funciona correctamente y siempre hace referencia a la propia página php que se abre en la ventana y no a la que toca. Con Mozilla sí funciona bien. Quería saber cual es el problema o cualquier debería de ser el uso correcto de esta variable para que funcione bien en ambos navegadores.

Un saludo y gracias.
  #2 (permalink)  
Antiguo 25/07/2006, 12:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te doy un consejo: Olvidate de HTTP_REFERER.

Dicha información no es entregada por muchos navegadores como lo que observas, es fácilmente adulterable, no es segura en consecuencia ...

Lo más sano es que de la página padre le pases a tu ventana el URL de donde se abrió por parámetro y así lo usaras en tu página ventana como necesites.

Sería algo así:
Código PHP:
...... window.open("nose.php?url=<? echo $_SERVER['PHP_SELF'?>","nose","parametros")
(o usando sesiones .. o cookies para no propagar dicho dato en el URL .. el cual también podría ser adulterado ...).

También planteate para que lo usas realmente ... si es con fines de "seguridad" no lo uses como tal .. usa en su defecto sesiones, cookies .. pero no "HTTP_REFERER".

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 25/07/2006, 13:25
 
Fecha de Ingreso: noviembre-2005
Mensajes: 312
Antigüedad: 12 años
Puntos: 1
Hola Cluster:

Gracias por responder. Pues ahora que me acuerdo no sé si fuistes tú quien me aconsejó lo mismo en un caso en el que usaba el header() para redirigir a una página. No me acordaba y creo que es el mismo caso. Pues lo uso simplemente para enviar la url por correo. Es la típica opción de "Recomienda esto..." y lo que hago es enviar con un email la url de ese producto que se recomienda, en este caso la ficha de un libro. Lo quiero usar para eso. Como dices tú pues le pasaré la url por get y listo.

Un saludo y gracias de nuevo por la ayuda.
  #4 (permalink)  
Antiguo 26/07/2006, 06:02
 
Fecha de Ingreso: noviembre-2005
Mensajes: 312
Antigüedad: 12 años
Puntos: 1
Hola Cluster:

Pues tengo un problema y es que ya colgada en el servidor no me sale bien lo que quiero hacer. Le paso la url como dices pero en el servidor en realidad no me coge toda la url entera es decir, "www.loquesea.com/...", simplemente me coge la carpeta raíz donde cuelgo todo el sitio web y el resto de la ruta donde está la página, y claro eso no me sirve porque quiero pasar la url completa para pasarla como un hipervinculo. ¿Cómo solucionarlo?.

Un saludo y gracias.
  #5 (permalink)  
Antiguo 26/07/2006, 06:10
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Si no me equivoco para el resto de la ruta has de usar la variable $_SERVER['DOCUMENT_ROOT']

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #6 (permalink)  
Antiguo 26/07/2006, 07:25
 
Fecha de Ingreso: noviembre-2005
Mensajes: 312
Antigüedad: 12 años
Puntos: 1
Hola djreficul:

Gracias por responder. Pues el caso es que como dices tú no he conseguido que saliese bien, así que he recurrido un truquillo igual cutre que es concatenar "http://www.dominio.com" con .$_SERVER["PHP_SELF"] para pasarla en la cadena de url y así parece funcionar correctamente. Mientres funcione así, así lo dejaré.

Gracias y un saludo.
  #7 (permalink)  
Antiguo 26/07/2006, 08:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para obtener el domino o "host" donde estás ejecutando tu script puedes usar la variable de servidor HTTP_HOST:

Código PHP:
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); 
A su vez podrías necesitar también el "QUERY_STRING" (para obtener todas las variables que pudieras tener en el URL).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:40.