¿Por qué se comparten las cookies entre las pestañas del navegador?
Porque rompería todo el propósito de las cookies.
Una cookie tiene tres componentes:
- Un dominio
- Algunos datos
- Un vencimiento
Cada vez que su navegador realiza una solicitud http, revisa la base de datos de cookies (local) para detectar cookies que tengan un dominio que coincida con el de la solicitud; si encuentra alguna, la envía al servidor.
Este mecanismo fue creado para proporcionar persistencia para el http de otro modo sin estado. Sin cookies, deberíamos proporcionar nuestro nombre de usuario y contraseña en cada solicitud a un sitio autenticado.
Si las cookies se cambiaran de forma universal para cada ventana, muchas cosas se volverían rápidamente molestas. No solo tendría que volver a iniciar sesión en Amazon cada vez que abriera su navegador, sino que también tendría que iniciar sesión cada vez que lo abriera en una nueva pestaña, ya sea porque cerró la anterior cuando terminó de comprar. o porque está abriendo los resultados en pestañas para compararlos.
¿evitar esto evita CSRF en sitios web de autenticación basados en cookies?
Combatiría CSRF, sí. No sería infalible, ya que aún retendría las cookies de otros sitios en esa pestaña.
Si alguna vez intentaste aplicar esta política a un usuario, encontrarían de inmediato algún tipo de solución y, como resultado, probablemente obtendrían un sistema menos seguro.
Si quieres escribir un complemento de navegador para hacer esto por ti mismo ... adelante, pero sospecho que encontrarás que la experiencia del usuario es demasiado rápida.