Con SSL: no guardar sesiones, no se envían cookies

1

Mi propósito es tener un sitio completamente SSL. El servidor web proporcionó este formato de URL para mi servidor compartido SSL: enlace donde www.example.com es el nombre de dominio.

Realicé las siguientes pruebas para tratar de aislar el problema, pero no pude encontrar una respuesta. El script genera el session_id y otra variable de sesión para probar la sesión. La url del sitio va a la página de índice que luego se dirige inmediatamente a la primera página de formulario. El primer formulario del script envía la entrada a sí mismo y luego las direcciones URL a una segunda página, donde se generan las variables de la sesión para probar la sesión.

Antes de cada prueba, elimino las sesiones en el servidor y también elimino las cookies, el historial de búsqueda y descarga, y el caché en el cliente (firefox).

Prueba 1 - no SSL - el script http base que funciona:

el script htaccess está en blanco; $ params secure = false.

Resultado: Se observa una cookie que no cambia en Firebug (security = blank). La entrada más el envío genera el valor de entrada del formulario, el ID de sesión y el valor de la variable de sesión en la segunda página. Todo correcto.

Prueba 2 - SSL:

htaccess (a continuación, tal como lo proporciona el servidor web); $ params secure = true.

RewriteEngine On

RewriteCond% {HTTP_HOST} ^ (. *) example.com [NC]

RewriteCond% {SERVER_PORT} 80

RewriteRule ^ (. *) $ enlace $ 1 [R, L]

Resultado: La URL de SSL se muestra en la barra de direcciones como se esperaba. El valor publicado vuelve a la primera página como se esperaba, y el valor publicado se asigna como una variable de sesión que se recogerá en la segunda página. No logra hacer esto. Se muestra un nuevo session_id en la segunda página que aún no se muestra como una cookie en firebug (como lo hizo en la Prueba 1).

Pregunta: ¿Cómo puedo hacer que los datos de la sesión que se guardan en el servidor se muestren en el cliente y se guarde la cookie en el cliente mientras uso $ params secure = true y la URL de SSL en htaccess?

Si los scripts y los resultados me ayudarían, los tengo disponibles.

    
pregunta krot 23.11.2014 - 21:37
fuente

1 respuesta

1

Por prueba y error encontré la respuesta:

Parece que cuando se usa SSL (prueba 2), setcookie se requiere de la siguiente manera:

setcookie ('sessionname', session_id (), time () + lo que sea, '/', 'theSSLhostaddress', true, true o false);

Además, el htaccess funciona en la prueba 2.

El script no SSL (prueba 1) no requería setcookie!

Espero que esto ayude.

    
respondido por el krot 24.11.2014 - 19:30
fuente

Lea otras preguntas en las etiquetas