hola otra vez amigos del foro quisiera saber no me pinta el valor de HTTP_REFERER.
he estado intentando pintar este valor asi :
$dato=$_SERVER['HTTP_REFERER'];
echo $dato;
pero no me sale?
| |||
para que te muestre ese valor debes acceder a dicha pagina desde otra, esa es la gracia del http_referer, que te muestra desde que "pagina" accediste a la que tiene el script. si abres la pagina del script directamente no te va a mostrar nada.
__________________ El conocimiento es libre: Movimiento por la Devolución |
| |||
te voy a citar una respuesta que lei en otro foro sobre el tema: (quizá alguien mas entendido en el tema d elas variables de servidor tep ueda ayudar, ya que yo probe tu codigo y me funka sin problemas. "$_SERVER es una matriz que contiene información tal como cabeceras, rutas y ubicaciones de scripts. Las entradas de esta matriz son creadas por el servidor web. No existen garantías de que cada servidor vaya a proveer alguno de estos valores 'HTTP_REFERER' La dirección de la página (si la hay) la cual refirió al agente de usuario a la página actual. Este valor es definido por el agente de usuario. No todos los agentes de usuario lo definen, y algunos proveen la capacidad de modificar HTTP_REFERER como una característica del software. En resumen, no se puede confiar realmente en este valor. "
__________________ El conocimiento es libre: Movimiento por la Devolución |
| |||
Así es .. Lo que comenta frijolerou .. El HTTP_REFERER es una variable de entorno fácilmente modificable por el "software" .. (hasta PHP podría enviar "cabeceras HTTP_REFERER" falsas a otra página si usa sockets para conectarse .. usando PHP como "cliente" en ese caso). Muchos proxys y firewalls eliminan dicha información de las cabeceras HTTP .. así que scripts basados en dicha variable suelen "fallar" por eso mismo. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
bueno amigos gracias por sus respuestas pero alfin medi cuenta por que pintaba el valor de $_SERVER['HTTP_REFERER']; lo que sucede es que mis links estan hechos en javascript con la forma de un menu. Tal parece que cuando se hacen "los saltos de paginas" en el navegador con ayuda de javascript $_SERVER['HTTP_REFERER'] no guarda ningún valor ya que cuando probe mis script con con simples etiquetas <a ref..... ahi si pasaba el valor. una vez mas muchas gracias por su ayuda
__________________ saludos :adios: Última edición por shinblood; 20/05/2004 a las 23:49 |
| |||
La mayoría de navegadores no entregan esa información de la página referida si vas saltando por ventanas vía javascript (por ejemplo en un window.open() . .en la página que llegas no tendrías "quien la abrió") .. Parece que "Opera" si que dá ese valor .. pero como veras es muyyy subjetivo el tema y dependes mucho de las peculiaridades de los "clientes". Así que .. si necesistas el "REFERER" .. de alguna página que mueves en tu sitio .. a veces es recomendable propagar el nombre/ruta de la página que estás vía variable simple (por el URL o en tus formularios) tomando el nombre/ruta que estás vía PHP con: $_SERVER['PHP_SELF'] y de ahí componer tu link o campo hidden (o cookies/sesiones) para que la próxima página tome dicho valor y "emule" un "HTTP_REFERER" pero a la "segura". Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
Gracias Cluster por tu consejo voy a intentar lo que recomiendas, pero no creo que deba usar sessiones ya que me dado cuenta que basta que un usuario con algo de conocimiento en javascript y html haga una pagina con un window.open("paginal.tal) para que inmendiatamente esta nueva ventana coja los valores de las sessiones que fueron inicializadas en una ventana diferente. Gracias nuevamente cluster y a todos los demas que me ayudaron
__________________ saludos :adios: Última edición por shinblood; 24/05/2004 a las 14:55 |
| |||
Eso último que comentas shinblood dependerá mucho de como propages el SID. Si en ese link no propagas el SID (Identificador Único de sesión) y trabajas con la propagación del SID en cookies .. si que podrá lanzar un window.open() desde la página que inició una sesión y continuar con la sesión activa. Si propagas el SID en cookies (con tiempo de expiración 0) y ajustas session.gc_maxtimelife (tiempo de vida útil del SID) .. no tendrías problemas si hacen eso .. por qué tu sesión ya no existirá (o el SID ya no es válido o la cookie que lo contenga ya expiró). (todo esto, siempre y cuando el último usuario cierre todas las ventanas del sitio para "matar" la cookie (si es que se propaga por el estas el SID) .. si hay alguna ventana abierta del sitio . ."cortando y pegando el URL" puede abrir tantas sesiones como quiera del sitio iguales (bajo el mismo SID si es que se propaga por el URL) o bien abrir más ventanas si las lanza de otra página y el SID se propaga en cookies (cookei activa por qué no cerró todas las ventanas del sitio que las inició). Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |