Comunidad de diseño web y desarrollo en internet online

***** Mantener sesiones entre URLs *****

Citar            
MensajeEscrito el 05 May 2010 03:20 am
Saludos.
CRISTALAB

(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 esté afectado TODO por el Certificado, creé un subdominio secure.misitio.com 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/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.

.- 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.

.- Almacenar el Login y el session_id() generado por el user.php en una tabla y luego buscarlo desde index.php. Lo asigna pero no mantiene la sesión.


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 pueda crear una sesión y devolverla ENTRE DOMINIOS, es decir, entre el dominio http: y el https: ?

Agradezco su asistencia.

----------------------------------------
YOLED
Cabudare - Lara - Venezuela
----------------------------------------

Por YOLED

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Jun 2010 04:04 pm
hola pero esto de los certificados me llama la atencion me podrias asesorar en la compra y funcionamiento asi como implementacion de uno para mi sitio?
saludos!

Por MikeSilver

26 de clabLevel



Genero:Masculino  

webdesigner, informatico, videogamer, parrandero

safari
Citar            
MensajeEscrito el 11 Jun 2010 09:49 pm
Saludos.

Disculpa, pero eso no responde mi pregunta. Con respecto a los certificados SSL, la empresa que te presta servicio de hospedaje debe estar en capacidad de suministrártelo e instalarlo para tu sitio.

Por YOLED

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.