2010-02-23 17 views
33

¿Cómo puedo configurar una cookie en PHP que sea legible tanto en HTTP como en HTTPS?Cookie a través de HTTP y HTTPS en PHP

Si esto no es posible, ¿qué se puede hacer? Establecer dos cookies?

+0

¿Qué navegador está utilizando? Me doy cuenta de que en IE9 tengo una cookie en HTTPS y HTTP con la misma clave, pero cada una tiene un valor diferente. Incluso cuando la cookie no es una cookie segura. –

+0

Cuando hice esa pregunta, busqué soluciones que funcionaran en los principales navegadores. Y sí, la solución presentada funcionó. –

+0

Simplemente use el mismo dominio (o un dominio padre apropiado) y las cookies serán accesibles a través de HTTP y HTTPS de forma predeterminada. Si quieres ser explícito, configura '$ cookie-> setHttpOnly (false)' con https://github.com/delight-im/PHP-Cookie – caw

Respuesta

69

De forma predeterminada, una cookie se puede leer tanto por http como por https en la misma URL.

Sin embargo, un servidor puede especificar opcionalmente el indicador 'seguro' mientras configura una cookie. Esto le indica al navegador que solo la envíe a través de un canal seguro, como una conexión SSL.

En este caso, la cookie solo se enviará a través de https. Una cookie no marcada como segura se enviará a través de http y https.

+5

Explicación esencial.^_^ –

+0

¿Las cookies no están marcadas como seguras y seguras cuando se envían a través de https? (Imagino que la respuesta es sí). – Oversteer

+0

@Oversteer sí, está seguro sobre https. El problema es que si se usa una mezcla de http y https, la cookie solo es segura parte del tiempo. –

26

Suponiendo que su nombre de dominio sigue siendo el mismo excepto por el tipo de recurso, las cookies en PHP (o cualquier otro idioma) se pueden leer desde HTTP y HTTPS.

ej .:

http://www.example.com 
https://www.example.com 

En este ejemplo, las galletas se podrá leer el uno del otro.

+0

olvidaste poner el ejemplo –

+4

El ejemplo está ahí. Estoy demostrando que la misma URL con solo el identificador de recurso cambiado seguirá utilizando las mismas cookies. Los dominios de cookies se basan en el nombre DNS y no tienen conocimiento del protocolo. Para aclarar, no necesita hacer nada especial para recibir el efecto deseado. Consulte las especificaciones de Cookie para obtener más información: http://curl.haxx.se/rfc/cookie_spec.html –

Cuestiones relacionadas