plantillas plantilla gratis elegant divi http cookies setcookie

http - elegant - plantilla divi wordpress gratis



Cookie de dominio establecido para subdominio (2)

Miré en muchas preguntas sobre cookies pero no encontré una respuesta sobre mi problema. Tengo el siguiente escenario:

Un usuario crea un inicio de sesión en example.com y debe obtener una cookie, pero solo para el subdominio fuu.example.com . Genero la siguiente parte del encabezado HTTP:

Set-Cookie: name=TestUser; Domain=fuu.example.com; Path=/; secure; HttpOnly

Pero cuando realizo una solicitud a https://fuu.example.com , la cookie no se agregará a la solicitud. Me pregunto si es posible que example.com establezca una cookie para fuu.example.com . Sé que es posible que example.com establezca una cookie para .example.com también para todos los subdominios de example.com, pero eso no es lo que quiero.

¿Cómo configuro una cookie para un subdominio? No veo la cookie en una solicitud al subdominio.


Los 2 dominios example.com y foo.example.com solo pueden compartir cookies si el dominio se nombra explícitamente en el encabezado Set-Cookie. De lo contrario, el alcance de la cookie está restringido al host de la solicitud.

Por ejemplo, si envió el siguiente encabezado desde foo.example.com :

Set-Cookie: name=value

Entonces, la cookie no se enviará para solicitudes a example.com . Sin embargo, si usa lo siguiente, será utilizable en ambos dominios:

Set-Cookie: name=value; domain=example.com

En RFC 2109, un dominio sin un punto inicial significaba que no se podía usar en subdominios, y solo un punto .example.com ( .example.com ) permitiría su uso en todos los subdominios.

Sin embargo, los navegadores modernos respetan la nueva especificación RFC 6265 e ignorarán cualquier punto inicial, lo que significa que puede usar la cookie en los subdominios así como en el dominio de nivel superior.

En resumen , si configura una cookie como el segundo ejemplo anterior de example.com , sería accesible por foo.example.com y viceversa.

Para más detalles: https://.com/a/23086139/5466401


No. Además de que fuu.example.com es un valor de dominio no válido (debe comenzar con a . , .fuu.example.com ) (ver actualización a continuación) la cookie sería rechazada :

Para evitar posibles infracciones de seguridad o privacidad, un agente de usuario rechaza una cookie (no debe almacenar su información) si alguna de las siguientes afirmaciones es verdadera:

  • El host de solicitud es un nombre de dominio totalmente calificado (no la dirección IP) y tiene el formato HD , donde D es el valor del atributo de dominio y H es una cadena que contiene uno o más puntos.

El request-host es example.com y el valor del atributo Domain es foo.example.com . Pero request-host example.com no tiene el formato HD donde D sería foo.example.com . Por lo tanto, la cookie es rechazada.

Actualización La especificación actual RFC 6265 , esa RFC 2109 obsoleta que se cita arriba, ignora el punto inicial. Pero el dominio efectivo se maneja de la misma manera:

[...] si el valor del atributo de dominio es " example.com ", el agente de usuario incluirá la cookie en el encabezado Cookie al realizar solicitudes HTTP a example.com , www.example.com y www.corp.example. com . (Tenga en cuenta que un% x2E inicial (" . "), Si está presente, se ignora aunque ese carácter no esté permitido, pero un% x2E posterior (" . "), Si está presente, hará que el agente de usuario ignore el atributo. )

[...] el agente de usuario aceptará una cookie con un atributo de dominio de " example.com " o de " foo.example.com " de foo.example.com , pero el agente de usuario no aceptará una cookie con un atributo de Dominio de " bar.example.com " o de " baz.foo.example.com ".