Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2010, 05:44
YOLED
 
Fecha de Ingreso: mayo-2010
Ubicación: Cabudre - Lara - Venezuela
Mensajes: 7
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Mantener sesiones entre URL's

Saludos.
Foros del Web - PHP

(Antes que nada, moderadores, si ya hay un hilo con una consulta parecida, por favor, siéntanse en libertad de eliminar este y remitirme al hilo que hable de este tema)


Tengo un sitio que trabaja con sesiones y todo está funcionando bien. El método que estoy utilizando es el siguiente:

En todos los archivos .PHP del sitio, luego del session_start() hay una instrucción include_once("login.php").

El archvio login.php:
.- Usa el método _POST y action="user.php"
.- Si isset($_SESSION["Login"]) = FALSE entonces muestra los campos de Log/Pass y el botón Submit - "Iniciar sesión".
.- Si isset($_SESSION["Login"]) = TRUE entonces inicializa un hidden con Logout = 1, muestra el nombre del usuario y el botón Submit - "Desconectar sesión".


El archivo user.php

Si recibe Log/Pass
.- Recibe Log/Pass por _POST y hace la búsqueda en la base de datos.
.- Si Log/Pass es TRUE inicializa $_SESSION["Login"]

Si recibe Logout = 1
session_unset();
session_destroy();


Repito: TODO está funcionando bien.


Decidí comprar un Certificado SSL para que cuando los usuarios entren con Login/Password (Log/Pass) su información esté protegida por el certificado, y allí comenzaron los problemas.

Para quien haya utilizado un Certificado SSL (y para quien no lo ha hecho), este certificado "asegura" un dominio (o un subdominio) y no los archivos.

Como no quiero que www.misitio.com.ve esté afectado TODO por el Certificado, creé un subdominio secure.misitio.com.ve y este subdominio SI está protegido.

Como saben, un subdominio es una carpeta dentro del public_html, pero si redirecciono mi action="secure/user.php" NO SE ACTIVA EL CERTIFICADO.

Para que el certificado se active tengo que hacer el action="https://secure.misitio.com.ve/user.php".

Debido a que es un _POST, el archivo user.php recibe las variables, verifica los datos y cre las variables de sesión. Al momento de devolver el control a la página desde donde lo recibimos, NO MANTIENE LA SESION.

Es natural que suceda porque estoy intentando transferir la sesión ENTRE DOMINIOS. Y allí es donde requiero su ayuda.

He intentado pasar el session_id por _POST desde el login.php al user.php y el user.php lo recibe, pero no lo devuelve.

He intentado también cambiar los parámetros de las cookies, colocar un nombre de sesion con session_name() y nada. No devuelve la sesión después de haber verificado los datos.

Mientras estuve trabajando enviando el action"secure/user.php" desde login.php todo estuvo bien. Al cambiar de dominio comenzó a fallar.

¿Cómo puedo hacer que el user.php (que recibe el session_id, pero no la sesión iniciada antes de login.php) pueda crear una sesión y devolverla ENTRE DOMINIOS, es decir, entre el dominio http: y el https: ?


Agradezco su asistencia.

Última edición por GatorV; 26/05/2010 a las 08:52