Sei que um cookie com secure
sinalizador não será enviado por meio de uma conexão não criptografada. Eu me pergunto como isso funciona em profundidade.
Quem é o responsável por determinar se o cookie será enviado ou não?
Sei que um cookie com secure
sinalizador não será enviado por meio de uma conexão não criptografada. Eu me pergunto como isso funciona em profundidade.
Quem é o responsável por determinar se o cookie será enviado ou não?
O cliente define isso apenas para conexões criptografadas e isso é definido no RFC 6265 :
O atributo Secure limita o escopo do cookie a canais "seguros" (onde "seguro" é definido pelo agente do usuário). Quando um cookie tem o atributo Seguro, o agente do usuário incluirá o cookie em uma solicitação HTTP apenas se a solicitação for transmitida por um canal seguro (geralmente HTTP sobre Segurança da Camada de Transporte (TLS) [RFC2818]).
Embora aparentemente útil para proteger cookies de invasores de rede ativos, o atributo Secure protege apenas a confidencialidade do cookie. Um invasor de rede ativo pode sobrescrever cookies seguros de um canal não seguro, interrompendo sua integridade (consulte a Seção 8.6 para obter mais detalhes).
Só mais uma palavra sobre o assunto:
Omitir
secure
porque seu siteexample.com
é totalmente https não é suficiente.Se o seu usuário estiver acessando explicitamente
http://example.com
, ele será redirecionado para,https://example.com
mas já é tarde demais; a primeira solicitação continha o cookie.fonte
secure
?