Foros del Web » Programando para Internet » PHP »

Como validar una redirercion ?

Estas en el tema de Como validar una redirercion ? en el foro de PHP en Foros del Web. Ups!... No funciono... Crei que <META HTTP-EQUIV="REFRESH" CONTENT="0; URL=pagina.php"> conservava, o transmitia un REFERER... ¿Que hago?, necesito validar que una redireccion sea realizada desde mi ...
  #1 (permalink)  
Antiguo 05/05/2004, 09:41
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
Como validar una redirercion ?

Ups!...

No funciono...

Crei que <META HTTP-EQUIV="REFRESH" CONTENT="0; URL=pagina.php"> conservava, o transmitia
un REFERER...

¿Que hago?, necesito validar que una redireccion sea realizada desde mi pagina.

-----------------
Entonces hoy he aprendido que: REFERER = imposible/FALIBLE + algunas maquinas que utilizan proxis no pasan ese dato.
-----------------

Cita:
Curiosidad:
¿Por qué no puedes usar sesiones o cookies?
Entonces el maní completo:

index.php contenido: <A HREF=2.PHP>Pulsa aqui para ver chicas</A>

2.php contenido: <JavaScript> REDIRIJA a 3.php</SCRIPT>

[ variable que pense: header() ]

3.php contenido: informacion visible por todo el planeta.

Tonces:

Necesito que 3.php Solo sea visible por un redirect desde 2.php

El rollo:

Si le meto cookies, la persona puede abrir directamente el URL: http://web.com/3.php desde otra ventana.

Si le metemos sessiones sucede =, simplemente la persona COPIA EL URL desde el browser y lo pega en otra ventana y no sucede lo que necesito, (repito):

que 3.php Solo sea visible por un redirect desde 2.php

Que hago ?

La solucion de Cluster no sirve, por que: "la persona COPIA EL URL desde el browser y lo pega en otra ventana".

PD: que es "Redireccion 302" ?

Cita:
la tercera pagina recibe como referer la primera pagina
Correcto Josemi, anoche me encontre con ese problemota, y empece con el header(), java, refresh, ustedes...
  #2 (permalink)  
Antiguo 05/05/2004, 12:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
La solucion de Cluster no sirve, por que: "la persona COPIA EL URL desde el browser y lo pega en otra ventana".
Se trata de crear varaibles de sesión o cookies donde tengas que pasar y VALIDAR su existencia en las que necesites.

Ejemplo (usando sesiones):

2.php
Código PHP:
<?
session_start
();
$_SESSION['valido']="da igual";
header ("Location: 3.php");
exit;
?>
3.php
Código PHP:
<?
session_start
();
if (!isset(
$_SESSION['valido'])){
die (
"No se puede entrar aquí directo!");
} else {
//borro la variable de sesión.
unset ($_SESSION['valido']);
}
// resto de tu página scripts .. 
?>
Si creas una sesión o cookie y no la validas como es el caso de ese pequeño IF .. está claro que si marco: http://www.tal.tal/3.php .. voy a entrar directo sin pasar por 2.php que es el que crea dicha variable de sesión o cookie.

Ahora .. si has pasado por 2.php .. ya podrás cortar y pegar ese URL donde gustes en tu cliente (navegador).

Pero, a su vez .. en 3.php .. al llegar puedes borrar tu variable de sesión.

Un saludo,
__________________
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 16:59
  #3 (permalink)  
Antiguo 05/05/2004, 13:24
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Bueno, intentemoslo con filosofia KISS. Si no es requisito que el usuario conozca la URL de 3.php, podrias hacer un simple:
2.php
Código PHP:
include('3.php'); 
3.php
Código PHP:
// comprobar que no se ha llamado directamente al script
// no recuerdo ahora si era con PHP_SELF o con REQUEST_URI
if ('3.php'==$_SERVER['REQUEST_URI']) {
 
// se ha intentado entrar a 3.php o por un link o directamente en el navegador
  
header("Location: index.php");
  exit;
}
// se supone que ha sido includa, asi que mostramos la pagina 
De esta forma, solo muestras el contenido de la pagina 3.php si ha sido incluida. Lo que pasa es que mostraras el contenido con la URL de 2.php.

Esta seria mi solucion KISS a mostrar la info de 3.php solo cuando llegan desde 2.php.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 05/05/2004, 14:50
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
Por aca hay una cerveza que se llama "Pocker", su eslogan es: "La cerveza perfecta!".

Asi son ambas respuestas de Josemi y cluster: PERFECTAS!.

Mis disculpas por mi apresurada y errada vision sobre la "perfecta" solucion de Cluster.

Como bien titula este post, requiero "validar una redirercion"; el include no me sirve, pero esa idea esta muy interesante.

Lo que hago es: REDIRIGIR, y para la página que estoy haciendo, (2.php), asi tiene que ser.

----------------------------------

Y 50 minutos despues de escribir lo anterior, escribo:

Tengo esto en 2.php:

<?php
SESSION_START();
$_SESSION['vale_sigue'] = 1;
header("location: http://www.tal.tal/3.php?".$_SERVER['QUERY_STRING']);
exit;
?>

Tengo esto en 3.php:

<?php
SESSION_START();
echo $_SESSION['vale_sigue'];
exit;
?>

Y 3.php solo da error:

Notice: Undefined index: vale_sigue...

Que es lo que tengo que hacer?
  #5 (permalink)  
Antiguo 05/05/2004, 17:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lee este mensaje (bueno .. en general todo el que hable sobre la propagación del SID: www.php.net/session)

http://www.forosdelweb.com/s/msg200012.html

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 05/05/2004, 20:02
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
Ah!; QUe torpeza la mia!!!!!!!!

Por dios!, disculpame la distraccion; : -(

Que pelota!!!!.

Perdoname por lo gil!:

(Lo olvide de lo mero agotado que ando..."

Mis resptos por su gran capacidad como pedagogo, (la paciencia con los gilipollas como yo)...

muy amable Cluster.
  #7 (permalink)  
Antiguo 05/05/2004, 20:04
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.942
Antigüedad: 13 años, 9 meses
Puntos: 20
Olvide decirlo:

Leere todo tu mensaje!:

http://forosdelweb.com/out.php?http%...msg200012.html
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 22:54.