Foros del Web » Programando para Internet » PHP »

problemas variables de sesion

Estas en el tema de problemas variables de sesion en el foro de PHP en Foros del Web. Hola! estoy pasando una variable de sesion, le hago un echo en el pagina madre y me da el valor sin problema, pero al pasarlo ...
  #1 (permalink)  
Antiguo 21/06/2006, 04:57
 
Fecha de Ingreso: abril-2006
Mensajes: 61
Antigüedad: 18 años
Puntos: 0
problemas variables de sesion

Hola!
estoy pasando una variable de sesion, le hago un echo en el pagina madre y me da el valor sin problema, pero al pasarlo a la hija no.
Os mando el codigo, muchas gracias.

pagina madre:
al principio:
<?php
session_start();
?>
a mitad de hoja:
<?php
session_register("comunidad_A");
If (isset($_POST["Comunidad"])){
$_SESSION["comunidad_A"]=$_POST["Comunidad"];
echo $_SESSION["comunidad_A"];
?>

en la pagina hija:
<?
session_start();
include "variables.php";

$comunidad_A= $_SESSION["comunidad_A"];
echo $comunidad_A;

?>

Ademas ya he cambiado el valor de las sesiones a 1, del php.ini.

Espero que alguien tenga una idea!
gracias
  #2 (permalink)  
Antiguo 21/06/2006, 07:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No uses session_register(), es incompatible o no corresponde si ya usas los arrays superglobales $_SESSION

más información al respecto:
www.php.net/session

Cita:
Ademas ya he cambiado el valor de las sesiones a 1, del php.ini.
Y a que directiva en concreto de tu php.ini sobre sesiones te refieres exactamente .. recuerda que hay como 10 o más directivas de configuración sobre sesiones ...

Lo que debes asegurarte es como vas a propagar el SID en tu aplicación .. Como no lo usas expresamente .. se "deduce" que quieres propagar el SID automáticamente .. es decir, que pHP lo haga por tí: ya sea por el URL (reescribiendo ciertos tag's HTML) o en una Cookie.

Lo recomendable es que lo hagas por cookies (según describe y aconsjea php.net):

Por ende tu php.ini debería quedar con las siguientes directivas en estos valores:

session.use_trans_sid= OFF --> Desactiva la propagación del SID en el URL
session.use_cookie = ON -----> Activa la propagación del SID en cookies
session.use_only_cookies = ON -> Fuerza la propagación del SID en cookies.

Por ende .. necesitaras un navegador que acepte cookies y cuidado con firewalls, anti-virus y otros dispositivos similares que no bloqueen esas cookeis que PHP va a generar para propagar el SID en ellas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 21/06/2006, 10:33
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Entonces que es mas recomendable.. propagar el SID por URL o por cookies..?
Yo he leido q no es muy fiable por cookies por q aveces el usuario no las tiene activadas.. pero por URL no es seguro tampoco..por q creo q vi q pueden acceder a un directorio y ahi sacarlas..
Tu usarias cookies Cluster? osea, tiene mas ventajas?
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #4 (permalink)  
Antiguo 21/06/2006, 10:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por B**
Entonces que es mas recomendable.. propagar el SID por URL o por cookies..?
Yo he leido q no es muy fiable por cookies por q aveces el usuario no las tiene activadas.. pero por URL no es seguro tampoco..por q creo q vi q pueden acceder a un directorio y ahi sacarlas..
Tu usarias cookies Cluster? osea, tiene mas ventajas?
Yo propago el SID en Cookies.

Es cierto que si el usuario "paranóico" que no sabe o valoriza de donde viene la cookie que se pretende crear en su equipo .. las bloquea .. no disfrutará de mis aplicaciones. OK .. pero esto es un tema bajo mi punto de vista de avisar a los usuarios y de que estos "sepan" lo que hacen cuando bloquen cookies. (A título personal .. yo bloque cookies ..pero por lo menos sé las que bloqueo y autorizo las de mi confianza de los sitios que sé que me las piden).

Propagar el SID en el URL .. tiene bajo mi punto mas problemas de seguridad vs a "usabilidad" (no depender de que el usuario permita cookies o no ..) y los que detalla este documento (recomendado su lectura por php.net .. por algo será):

Cita:
Sessions and security
External links: Session fixation

The session module cannot guarantee that the information you store in a session is only viewed by the user who created the session. You need to take additional measures to actively protect the integrity of the session, depending on the value associated with it.

Assess the importance of the data carried by your sessions and deploy additional protections -- this usually comes at a price, reduced convenience for the user. For example, if you want to protect users from simple social engineering tactics, you need to enable session.use_only_cookies. In that case, cookies must be enabled unconditionally on the user side, or sessions will not work.

There are several ways to leak an existing session id to third parties. A leaked session id enables the third party to access all resources which are associated with a specific id. First, URLs carrying session ids. If you link to an external site, the URL including the session id might be stored in the external site's referrer logs. Second, a more active attacker might listen to your network traffic. If it is not encrypted, session ids will flow in plain text over the network. The solution here is to implement SSL on your server and make it mandatory for users.
http://www.acros.si/papers/session_fixation.pdf

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 21/06/2006, 10:56
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Ok, solo una pregunta..
Hay forma de saber q no se pudo propagar el SID por cookies y entonces ese mismo script q las propague por URL.??
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #6 (permalink)  
Antiguo 21/06/2006, 11:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por B**
Ok, solo una pregunta..
Hay forma de saber q no se pudo propagar el SID por cookies y entonces ese mismo script q las propague por URL.??
Sería una prueba de generación de cookies en general .. La técnica es la de enviar una cookie y leerla: setcookie() -> recargar la página con header("Location: ...") por ejemplo y leerla .. si no existe es que tu cliente (PC) bloqueó las cookies en general.

Por otro lado lo que hace mucha gente es usar:
session.use_trans_sid = ON
session.use_cookies = ON
session.use_only_cookies = OFF

PHP en su proceso de "busqueda del SID" en un script lo hace mirando primero la cookie y luego el URL .. si no llega esa petición del script con un SID válido .. inicia una nueva sesión (que ese lo que vemos cuando decimos "perdimos los datos de la sesión" por perdida del SID ..).

Con las directivas mencionadas .. dices a PHP que propague el SID en el URL y en cookies .. si la cookie se puede crear .. el SID no se propaga en el URL .. El problema de esto se origina cuando tienes redireccionamientos donde PHP no va a "sobre-escribir" ese URL indicado para añadir el SID, me refiero a redireccionamientos usando:

PHP:
header ("Location: nose.php");
Javascript:
window.location( .....) o equivalentes ...
Cabeceras HTTP de "refresh"
<META ......>

En esos casos PHP no inserta el SID tendrías que hacerlo tu a "mano" y por ende .. en algunos script tuyos (en los que hagas ese tipo de redirección) el SID quedaría en el URL siempre ...

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 21/06/2006, 15:14
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Gracias ...entonces veo como que mejor es hacerlo por un metodo
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
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 07:41.