Resumo

  • RFC 10025 organiza o armazenamento e o envio de estado Cookie pelo agente do usuário; o sentido do valor e a aceitação atual da sessão pertencem ao serviço.
  • Secure, HttpOnly, SameSite, escopo host-only, Domain, caminho e prefixos impedem ou limitam situações delimitadas. Não são uma procuração para autorizar uma ação.
  • A evidência operacional deve separar sessão, contexto de requisição, autorização da operação, prevenção de repetição, confirmação de gravação e efeito conciliado.

O protocolo define Set-Cookie, Cookie e as condições em que um navegador pode guardar e reenviar um valor. Não define a semântica empresarial desse valor. Uma cadeia pode apontar para uma sessão opaca, uma preferência ou um objeto que o servidor já decidiu invalidar. É a aplicação que precisa dizer o que reconhece agora e com que limites.

Essa separação fica nítida no escopo. Sem Domain, uma cookie é host-only; com um Domain aceitável, a seleção pode alcançar hosts correspondentes. O tratamento de sufixos públicos reduz certos domínios excessivamente amplos. Tudo isso disciplina onde o navegador pode anexar um estado. Não cria confiança equivalente entre todos os componentes desse alcance, nem concede a eles igual poder sobre uma conta ou transação.

Secure limita a transmissão ao conceito de conexão segura do navegador. HttpOnly limita interfaces não HTTP. São controles importantes, mas não são evidência de que uma pessoa acabou de aprovar a requisição. Em especial, uma cookie HttpOnly pode continuar sendo enviada numa requisição HTTP aplicável: impedir leitura por script não impede que a autoridade viaje de modo automático.

RFC 10025 chama esse fenômeno de autoridade ambiente. Uma parte pode induzir um navegador que já contém estado semelhante a credencial a visitar um recurso. O risco não exige necessariamente que alguém leia a cookie. Basta que o sistema confunda o seu envio automático com uma decisão atual.

SameSite diminui algumas vias entre sites e deve integrar uma configuração séria. O próprio RFC, porém, descreve Lax como defesa em profundidade contra certos CSRF, não como defesa geral robusta. A compatibilidade de cookies em modo padrão também pode permitir uma cookie recente numa navegação de nível superior com método inseguro. Portanto, ações sensíveis precisam de controles próprios de contexto e de vínculo com a ação: anti-forgery apropriado, origem quando pertinente, reautenticação recente, limites, confirmação ou segunda aprovação conforme a consequência.

Os prefixos reforçam uma fronteira de emissão. __Secure- requer origem segura e Secure; __Host- exige ainda Path=/ e ausência de Domain. Eles não consultam o estado de revogação, não verificam se houve mudança de papel e não conciliam uma transferência. O erro é transformar uma garantia estreita em linguagem ampla de “segurança da conta”.

Depois que a aplicação associa uma cookie a uma sessão, ainda deve decidir se aceita aquela sessão. Ela pode ter expirado, sido rotacionada após recuperação de conta, sido revogada ou ter perdido acesso a uma operação de maior impacto. Fixação de sessão é resolvida por rotação e invalidação através de uma mudança de autoridade, não por reler a mesma cookie. O registro que importa liga a emissão, a rotação, o identificador substituído e a recusa posterior.

Uma sessão aceita tampouco autoriza qualquer ação. Consultar informação e alterar um beneficiário, exportar dados ou mudar uma configuração de rede são decisões diferentes. Sujeito, objeto, mandato, limite, momento, confirmação e separação de funções podem divergir. Os termos HTTP “seguro” ou “idempotente” descrevem semântica de protocolo; não provam uma permissão de negócio.

Por fim, resposta e efeito não são sinônimos. Um 200 pode registrar uma fila, uma gravação local ou o início de uma integração. A consequência precisa de referência própria, estado de confirmação e, quando necessário, reconciliação. A cadeia útil é: cookie selecionada; sessão aceita; contexto validado; política permitiu; ação foi submetida; efeito foi observado. Cada frase tem dono e fonte de prova diferentes.

Fontes