- name
- configure-secure-cookies
- category
- web
- description
- Configure browser cookies with narrow scope, transport protection, script isolation, and deliberate cross-site behavior. Use when a web application stores sessions, state, or preferences in cookies.
# configure-secure-cookies
Give each cookie the least reach and lifetime needed for its documented purpose.
## Procedure
1. Inventory cookie name, owner, value type, purpose, sensitivity, scope, and lifetime.
2. Set `Secure` for HTTPS transport and `HttpOnly` whenever scripts do not need the value.
3. Choose `SameSite=Strict`, `Lax`, or `None` from the actual cross-site flow; pair `None` with `Secure`.
4. Narrow `Path` and omit `Domain` when a host-only cookie is sufficient.
5. Prefer `__Host-` or `__Secure-` prefixes when their constraints match the design.
6. Use session or explicit `Max-Age` lifetimes and rotate authentication cookies after privilege changes.
7. Separate development configuration without weakening production defaults.
8. Test login, logout, expiry, subdomains, redirects, embedded contexts, and cross-site requests in browsers.
## Guardrails
- Cookie flags do not replace server-side authorization or CSRF defenses.
- Never store passwords, raw access tokens readable by scripts, or unnecessary personal data.
- Avoid sharing a cookie across every subdomain unless all subdomains have the same trust boundary.
## Done
- A cookie inventory records purpose, flags, scope, owner, and lifetime
- Browser tests verify expected first-party and cross-site behavior
- Session rotation and deletion are recorded and reconciled with server state
GitHub에서 보기