Foros del Web » Programando para Internet » PHP »

Transmitir el header REAL, no el "PRE-HEADER", cómo?

Estas en el tema de Transmitir el header REAL, no el "PRE-HEADER", cómo? en el foro de PHP en Foros del Web. Tengo http://miweb.com/directorios/sitios_sugeridos.php alli hay: <a href="salida.php?url=http://miweb.com/miprueba.com">miprueba.com</a> y + URLs... En salida.php: Código PHP: <?php     $url = '' ;      extract ( $_GET );     if(!empty( $url ...
  #1 (permalink)  
Antiguo 25/08/2004, 09:23
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
Transmitir el header REAL, no el "PRE-HEADER", cómo?

Tengo http://miweb.com/directorios/sitios_sugeridos.php alli hay: <a href="salida.php?url=http://miweb.com/miprueba.com">miprueba.com</a> y + URLs...

En salida.php:

Código PHP:
<?php
    $url
='';
    
extract($_GET);
    if(!empty(
$url)){header ('Location: http://'.$url); exit;}
    
header location('http://miweb.com'); exit;
?>
Pero resulta que en el registro de [miprueba.com], (ES DECIR DE CUALQUIER WEB), aparece:

$_SERVER['HTTP_REFERER'] = webdeorigen.com/directorios/sitios_sugeridos.php

Cuando lo que necesito (por seguridad), es "LA REAL VERDAD":

$_SERVER['HTTP_REFERER'] = webdeorigen.com/salida.php

Cómo puedo hacer eso?

Transmitir el header REAL, no el "PRE-HEADER".
  #2 (permalink)  
Antiguo 25/08/2004, 09:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm El HTTP_REFERER como "dato" del protocolo HTTP se puede alterar (y poner lo que Realmente te dé la gana o incluso nada como hacen muchos proxy's "transparentes" o "anónimos") ..

El caso es que vía PHP vas a tener que conectarte a la página que redireccionas vía HTTP por sockets y ahí jugar con el protocolo HTTP para ver como definir tu "HTTP_REFERER".

Pueder ver sobre el tema en las funciones:
fosockopen() (y afines) (mejor en ingles .. más completo pese que te duela).

Y sobre todo en las RFC's que define el protocolo HTTP. (usa google)

Un saludo,
  #3 (permalink)  
Antiguo 25/08/2004, 10:02
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
Uy...

Osea que hacer eso es un chicharron...

:-s
  #4 (permalink)  
Antiguo 25/08/2004, 10:08
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
De veras.... Eso se ve muy complicado.... O no me di a entender?...

Que opinas hacer algo como

Código PHP:
<?php
    $url
='';
    
extract($_GET);
    if(!empty(
$url)){echo '<meta http-equiv="refresh" url="0; http://'.$url.'">';exit;}
    
header location('http://miweb.com'); exit;
?>
  #5 (permalink)  
Antiguo 25/08/2004, 12:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues creo que no te entendí por mi parte ..

Debes comprender que header() de PHP envia cabeceras HTTP al cliente .. estás (una de tantas) son el "Location" que empleas: header ("Location: $url"); .. Eso le indica al "navegador" que cargue otra página .. pero la "carga" la hace ese navegador no PHP (sería un include() en tal caso para "incluirlo como parte del script que lo llama").

No sé por qué tu HTTP_REFERER registra (el de la página que redireccionas):
$_SERVER['HTTP_REFERER'] = webdeorigen.com/directorios/sitios_sugeridos.php

Por qué quien redireccionas es salida.php (o usas frames/iframes?)
$_SERVER['HTTP_REFERER'] = webdeorigen.com/directorios/sitios_sugeridos.php

Un saludo,
  #6 (permalink)  
Antiguo 25/08/2004, 13:44
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
Yo no quiereo que me crgue otra pagina, lo que quiereo es cuando la pipol pulse en una pagina sugerida, me quede un registro en la BD.

Asi que en salida.php hay:

Código PHP:
<?php if(!empty($url)){

Verificar que $url es valido,
Guarde el dato en BD
Guarde dia hora
mes...
Finalmente............

AQUI ESTA LA FALLA QUE NO SE COMO EVITAR.....

redirija esta visita a $url.

No importa cómopero no deje rastro de nada de mi sitio weba lo sumo que la pagina de origen es ESTAy no la ANTERIOR.

Si consultan $_SERVER['HTTP_REFERER'que sea salida.php
exit;
?>
Eso es lo que necesito, y oh! sorpresa!, resulta que lo he hecho como he indicado en el mensaje 1, y resulta que desde $url pueden saber de la existencia de la pagina "secreta" sitios_sugeridos.php por eso intente OCULTAR a sitios_sugeridos.php realizando el paso por salida.php

Y ya os conte que sale el referer anterior, de lo cual deduzco que puede ir ademas MUCHA + INFO.

Si no lo creeis, haced una prueva, y vereis que el referer va a ser el PRE.
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 02:54.