En mi aplicación Django, quiero verificar si una cookie específica tiene "Mismo sitio = Ninguno" o no.
Estoy usando este código para leer el valor de las cookies,
cookiesid = request.COOKIES["cookiesid"]Sin embargo, no sé cómo verificar el atributo "SameSite", parece que no hay ningún método para verificarlo por solicitud. COOKIES [""]
¿Cómo puedo comprobarlo?
Estoy usando Python 3.6.9 y Django 3.1
Profundizando un poco más.
CSRF_COOKIE_SECURE = True SESSION_COOKIE_SECURE = True CSRF_COOKIE_SAMESITE = 'None' SESSION_COOKIE_SAMESITE = 'None'También asegúrese de tener Django 3, en Django 2 hay un error y generará un ValueError.
También he tenido problemas con las cookies entre dominios recientemente, y lo he rastreado hasta que Google Chrome implementó gradualmente su actualización de seguridad que fuerza el atributo SameSite a Lax si no está configurado.
Lax significa que la cookie se bloqueará entre dominios de forma predeterminada en Google Chrome
Dado que está inspeccionando los atributos de la cookie en el código, creo que si el atributo SameSite no está allí, entonces no lo está configurando y, por lo tanto, Google Chrome está forzando el atributo a Lax .
Como ha dicho que está usando Django 3.1, las siguientes cuatro entradas en su archivo settings.py podrían resolver su problema (como lo hizo conmigo):
CSRF_COOKIE_SECURE = True SESSION_COOKIE_SECURE = True CSRF_COOKIE_SAMESITE = 'None' SESSION_COOKIE_SAMESITE = 'None'¡Buena suerte!