Foros del Web » Programando para Internet » PHP »

Alterar $_SERVER['HTTP_REFERER']

Estas en el tema de Alterar $_SERVER['HTTP_REFERER'] en el foro de PHP en Foros del Web. Buen día, hice una redireccion con JavaS, y en el proceso se pierde $_SERVER['HTTP_REFERER']; hice la redireccion con header("location: $web"); y se me pierde la ...
  #1 (permalink)  
Antiguo 05/05/2004, 07:46
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 10 meses
Puntos: 20
Alterar $_SERVER['HTTP_REFERER']

Buen día, hice una redireccion con JavaS, y en el proceso se pierde $_SERVER['HTTP_REFERER']; hice la redireccion con header("location: $web"); y se me pierde la redireccion.

Tengo esto:

Código de pagina escondida, pero PUBLICA:

Código PHP:
<?php
    $miweb 
'^([url]http://[/url]'.$_SERVER['SERVER_NAME'].')';
    if(empty(
$_SERVER['HTTP_REFERER']) OR !eregi($miweb,$_SERVER['HTTP_REFERER']))
    {
    
header('location: [url]http://[/url]'.$_SERVER['SERVER_NAME']);
    exit;
    }
?>

<HTML>
<HEAD....
</BODY>
</HTML>

NOTA: La llegada a esta página no se produce desde el index, sino desde otra pagina.

¿Podre hacer algo asi desde la pagina que tiene el enlace?:

Código PHP:
 <?php

    $cabecera_que_se_envia_a_la_otra_pagina_de_nombre_REFERER 
=
    
'El valor que yo quiera';
    
    
//O bien:

    
$valor_de_las_cabeceras 'REFERER = tatata';
    
    
//Y ahora si:

    
header('location: [url]http://[/url]'.$miweb);
    
//Llevando este header las cabeceras (La que necesito es REFERER), que necesito.
    
exit;
?>
No puedo utilizar SESSIONES ni Cookies, (devido a mi desarrollo no tendria sentido...).

Gracias.
  #2 (permalink)  
Antiguo 05/05/2004, 07:48
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 10 meses
Puntos: 20
Se daño el código por colocarlo en [PHP]

Aqui esta:

Buen día, hice una redireccion con JavaS, y en el proceso se pierde $_SERVER['HTTP_REFERER']; hice la redireccion con header("location: $web"); y se me pierde la redireccion.

Tengo esto:

Código de pagina escondida, pero PUBLICA:

<?php
$miweb = '^(http://'.$_SERVER['SERVER_NAME'].')';
if(empty($_SERVER['HTTP_REFERER']) OR !eregi($miweb,$_SERVER['HTTP_REFERER']))
{
header('location: http://'.$_SERVER['SERVER_NAME']);
exit;
}
?>

<HTML>
<HEAD....
</BODY>
</HTML>


NOTA: La llegada a esta página no se produce desde el index, sino desde otra pagina.

¿Podre hacer algo asi desde la pagina que tiene el enlace?:

<?php

$cabecera_que_se_envia_a_la_otra_pagina_de_nombre_ REFERER =
'El valor que yo quiera';

//O bien:

$valor_de_las_cabeceras = 'REFERER = tatata';

//Y ahora si:

header('location: http://'.$miweb);
//Llevando este header las cabeceras (La que necesito es REFERER), que necesito.
exit;
?>


No puedo utilizar SESSIONES ni Cookies, (devido a mi desarrollo no tendria sentido...).

Gracias.
  #3 (permalink)  
Antiguo 05/05/2004, 08:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La variable de servidor HTTP_REFERER es así su funcionamiento .. NO es para nada "segura" ni todo navegador e incluso proxys y otros dispositivos de red entregan dicho dato .. Incluso si estás llamando a páginas desde javascript y window.open .. tampoco obtienes el "referrer" con todo navegador (IE creo que no lo dá ..Opera parece que sí . o Mozilla .. no recuerdo).

Lo que puedes hacer .. es tomar el nombre de tu página actual (PHP_SELFT) y propagarlo a mano en el URL en tus Location

Ejemplo:

Código PHP:
<?
header 
("Location: nose.php?mireferer=".urlencode($_SERVER['PHP_SELF']));
?>
y en tu nose .. tendrás el $_GET['mireferer'] para usarlo como la página referida... Por lo menos así debería funcionar hasta con redirecionamientos que hagas javacript .. o abras ventas siempre y cuando lo propagues tu a mano.

Un saludo,

Curiosidad:
¿Por qué no puedes usar sesiones o cookies?
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 05/05/2004 a las 08:05
  #4 (permalink)  
Antiguo 05/05/2004, 08:02
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

El valor de HTTP_REFERER lo manda el navegador. Cuando haces el location, lo que haces es decirle al navegador que tiene que realizar otra peticion a esa nueva direccion. Asi que es siempre el navegador el que envia el referer. Incluso puede ser modificado por proxies y firewalls.

No se si con otra redireccion que no sea la 302 (solo con el header(Location)), el referer se mantiene.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 05/05/2004, 08:19
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Por cierto, acabo de probar con mi IE y mi Mozilla y la tercera pagina recibe como referer la primera pagina, es decir, la que tiene el link a la segunda (menudo lio).

Asi que puede ser que sea tu configuracion la que "pierda" el referer.

O es que no acabo de entender tu problema.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 05/05/2004, 08:20
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 10 meses
Puntos: 20
La solucion que me toco aplicar fue un REFRESH desde esa pagina enlace, a "PAGINA SEMI-PRIVADA", y asi, aplicar:

<?php
$miweb = '^(http://'.$_SERVER['SERVER_NAME'].')';
if(empty($_SERVER['HTTP_REFERER']) OR !eregi($miweb,$_SERVER['HTTP_REFERER']))
{
header('location: http://'.$_SERVER['SERVER_NAME']);
exit;
}
?>

<HTML>
<HEAD....
</BODY>
</HTML>

Que opinas ?

Lo que entiendo es que me estas diciendo que NO ES POSIBLE ALTERAR REFERER.

Eso lo alteran los brow atomaticamente, (algunos.)
  #7 (permalink)  
Antiguo 05/05/2004, 08:21
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 10 meses
Puntos: 20
Podrias dar una manito en este post de JavaS?:
http://www.forosdelweb.com/s/msg200325.html
  #8 (permalink)  
Antiguo 05/05/2004, 09:05
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 10 meses
Puntos: 20
Disculpen el "ROLLO".

AL parecer los 3 estavamos respondiendo en simultanea.

Por ello, salen 2 comentarios mios luego de sus excelentes respuestas.

(Con esta son 3 respuestas SOBRANTES).
  #9 (permalink)  
Antiguo 17/04/2016, 10:37
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: Alterar $_SERVER['HTTP_REFERER']

Hola es mi primer post en el foro quería pedirles si alguien me puede dar alguna noción de cómo hacer lo que necesito para agregar a un sistema php que estoy haciendo el tema es así
Yo necesito modificar la cabecera http de $_SERVER['HTTP_REFERER']
Ejemplo Supongamos Que estamos en un post de Facebook publicado por mi Blog al Hacer Click sobre el post dentro de facebook en la pagina del post en el blog si hacemos echo $_SERVER['HTTP_REFERER'] nos diría que la visita vino de http://facebook.com/ yo lo que necesito es modificar de donde vino la visita por ejemplo cambiar facebook.com a google.com e visto en videos que muchos cambian la cabecera con header location pero no e podido hacerlo funcionar alguien tendrá algún código de ejemplo para usar de guía Muchas gracias a todos
  #10 (permalink)  
Antiguo 18/11/2016, 08:41
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 10 meses
Puntos: 20
Respuesta: Alterar $_SERVER['HTTP_REFERER']

Es probable que EN los videos que haz visto modifiquen el "REFERER" desde el BROWSER.

Desde Firefox, sí que es posible.

En dónde quieres que SE ALTERE el valor del "REFERER" ???

1 - en máquina destino?
2 - en TU máquina?
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 12:03.