Foros del Web » Programando para Internet » PHP »

Como no enviar datos de SID en uno de los links?

Estas en el tema de Como no enviar datos de SID en uno de los links? en el foro de PHP en Foros del Web. El manual de PHP dice: "Cuidado!: No envie datos de SID a urls externas, eso es agujero negro." Tonces yo hice: Se buca los datos ...
  #1 (permalink)  
Antiguo 11/02/2004, 11:19
 
Fecha de Ingreso: enero-2004
Mensajes: 89
Antigüedad: 20 años, 3 meses
Puntos: 0
Busqueda Como no enviar datos de SID en uno de los links?

El manual de PHP dice:

"Cuidado!: No envie datos de SID a urls externas, eso es agujero negro."

Tonces yo hice:

Se buca los datos del amigo del sitio web con SQL...
Se imprimen, y el dato de la web lo imprimo asi:

<A HREF='http://www.misitio.com/webamiga.php?sitiowebamigo=".$row["web[2]"]."' TARGET='_blank'>

Código de webamiga.php:
Código PHP:
<?php
    
if(isset($sitiowebamigo))
    {
    if(
$sitiowebamigo == '')
    {
    
$sitiowebamigo 'miegofalso.com';
    }
    
header("Location: $sitiowebamigo");
    exit;
    }
    include(
'index.phhp');
?>
Pero si el amigo coloco por ejemplo: humildad.com tonces no me funciona, que podra haber en output.php de estos foros?
Esta bien el código para no pasar los datos de session?

Por favor, la encimita: ¿que es ingenieria inversa?, las que no son inversa son?. (lo he leido aqui en PHP).

GRACIAS.
  #2 (permalink)  
Antiguo 11/02/2004, 13:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Para no propagar el SID hacia otro sistio que puedas redireccionar .. o bien dejar rastros de tu SID en proxys por ejemplo .. debes programar el SID en cookies:

session.use_cookies = ON
y para más seguridad que -sólo- se van a usar cookies para propagar el SID usa:
session.use_only_cookies = ON

ademas de desactivar:
session.use_trans_sid = OFF ..

De todas formas .. juston en el ejemplo que pusistes .. en ese redireccionamiento tipo header("location: ...") PHP no reescribirá esa petición para incluirle el SID como así sucede si usas session.use_trans_sid y usases un link común HTML para pasar a la página de tu amigo ...

Un saludo,

PD: En resumen .. "ingeneria inversa" es sacar el algoritmo de como funciona un código ya implementado. Por ejemplo .. del código que pusistes decir como funciona en "palabras" (por lo menos ..lo ideal es con diagramas de flujo o similares)..si tal variable está definida entonces si esa variable es igual a nada ('') entonces la variable tomará ese valor .. sino (de la primera condicion) redirecciona (header) y termina la ejecución del script (exit) .. sino .. incluye el código de index.php ...

Las que no son inversas .. pues es "ingeneria" .. digo yo .. Eso es sólo un termino para explicar que partes de algo ya hecho y vas a deducir como funciona. Tu en teoría cuando te sientas a "programar" algo .. lo que haces aunque sea en tu cabeza y por un instante es ese "algorítmo" que define como quieres que funcione tu aplicación/scirpt o simple código ...

Existe un foro dedica a "Ingeneria del Software y gestión de proyectos" .. ahí encajaría mejor preguntas sobre "teoría" ..

PD2: ese isset() y luego el otro if($variable =='') se solventa todo en uno con la función empty().
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 11/02/2004, 14:53
 
Fecha de Ingreso: enero-2004
Mensajes: 89
Antigüedad: 20 años, 3 meses
Puntos: 0
Gracias Maestro,

a mi me alquilan un espacio de un server, asi que no puedo modificar el php.ini

Pero por su respuesta deduzco que con el script basta para no pasar info de variables almacenadas en las SESSIONES.

Sinembargo, puedes ver que hay un pelo:

"Pero si el amigo coloco por ejemplo: humildad.com tonces no me funciona, que podra haber en output.php de estos foros?
Esta bien el código para no pasar los datos de session?"

es decir maestro:

<A HREF='http://www.misitio.com/webamiga.php?sitiowebamigo=cluster.com' TARGET='_blank'>

Me da error, se queda buscando el url dentro de misitio.com más aun, dentro del mismo directorio.

Como evito eso?

Por eso digo: "que podra haber en output.php de estos foros?"

Gracias.

PD: si voy a un cafenet, mis datos de session quedan en elproxi del cafenet?
  #4 (permalink)  
Antiguo 11/02/2004, 15:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pero .. las directivas que te mencioné se peuden modificar en tiempo real (es decir; durante la ejecución de un script tuyo) .. Incluso hay una FAQ que habla de ello ..

tienes que usar las funciones:

ini_set("nombredirectivaphp","valor");

(antes de tu session_start() ...)

Lo otro que comentas con ese "redireccionador" que usas .. la verdad que sin ver el código de ese tal "webamiga.php" o del "outpup.php" no sé que están haciendo .. si un redireccionamiento simple (header("location: ")) o de otro tipo .. o un include() (esto si que sería peligroso).

De todas formas a nivel de propagación del SID ..si propagas el SID en cookies no tendras problemas. Si usa session.use_trans_sid = ON y usas session.us_cookies = OFF .. PHP va a reescribir ese link y le va a añadir el SID .. de como redireccine ese script a su vez para llevarte al otro sitio dependerá de si PHP va a incrustar el SID o no a su vez en ese código ..

Cita:
PD: si voy a un cafenet, mis datos de session quedan en elproxi del cafenet?
Los datos de tu sesión no ... pero si el SID (Identificador Único de sesión .. sobre todo si NO propagas el SID en cookies .. más veces aparecerá en los log de ese proxy .. )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 11/02/2004, 15:35
 
Fecha de Ingreso: enero-2004
Mensajes: 89
Antigüedad: 20 años, 3 meses
Puntos: 0
Maestro, el código de "webamiga.php" lo pegue desde el principio del post, aqui lo vuelvo a pegar:


<?php

if(isset($sitiowebamigo))

{

if($sitiowebamigo == '')

{

$sitiowebamigo = 'miegofalso.com';

}

header("Location: $sitiowebamigo");

exit;

}

include('index.phhp');

?>
  #6 (permalink)  
Antiguo 11/02/2004, 16:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Pues.. ya te comenté (creo) que PHP si usas: session.use_trans_sid = ON ... NO reescribe ese tipo de redireccionamientos (header ("Location: ....") ...) así que tu SID no llegaría a la página que redireccines .. Ni a una externa ni a una interna de tu sitio ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 11/02/2004, 16:51
 
Fecha de Ingreso: enero-2004
Mensajes: 89
Antigüedad: 20 años, 3 meses
Puntos: 0
Masetro, NO ME HE SABIDO EXPLICAR, DISCULPEME:

Un usuario escribe en el campo web: "hotmail.com"

asi que al file: webamiga.php le llega este dato:

$sitiowebamigo = 'hotmail.com';

Y tonces el script se me fiega.

Por que el usuario tendria que colocar:

http://www.hotmail.com

Pero mierntras unos usuarios colocarian:

hotmail.com otros: www.hotmail.com, otros: http://hotmail.com, otros: http://www.hotmail.com, etc...

Ese es el chicharron que tengo con el script: "webamiga.php"

Por que el rollo del SID ya esta resulto por ese script. (eso es lo que creo).

GRACIAS.
  #8 (permalink)  
Antiguo 11/02/2004, 17:50
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El protocolo HTTP requiere que la URL que pongas en el Location sea una URL completa, es decir, que empiece por http:// . Por eso no funciona si no pasas el http.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #9 (permalink)  
Antiguo 11/02/2004, 18:00
 
Fecha de Ingreso: enero-2004
Mensajes: 89
Antigüedad: 20 años, 3 meses
Puntos: 0
Gracias maestro, tonces lo que debo hacer es:

if(no esta http:)
{ $sitiowebamigo = "http://$sitiowebamigo";}

Y seguir con el código...

Eso debo hacer? o es otra cosa?

Gracias.
  #10 (permalink)  
Antiguo 11/02/2004, 18:07
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Si, algo asi. Tambien puede ser https.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 03:30.