soy Kseso y esto EsCSS

:visited y sus limitaciones por seguridad y privacidad

Las particularidades del selector Css (pseudoclase) :visited en cuanto a las limitaciones de las propiedades que admite y su relación con la privacidad y seguridad del usuario.

:visited y sus limitaciones por seguridad y privacidad

·Por Kseso ✎ 1
:visited y sus limitaciones por seguridad y privacidad

A estas alturas de todos es conocido que la pseudoclase :visited por oposición a :link es la empleada para diferenciar visualmente los enlaces ya seguidos por el usuario del resto. Una pequeña ayuda cuando hay una lista consecutiva de ellos.

También es conocido que el estado visitado es temporal, en cuanto que:

  • Si sales de una página al seguir un enlace y regresas a ella la pseudoclase :visited no ha sido guardada (o al menos no debería).
  • Transcurrido un tiempo, tras haberla aplicado, el navegador puede (y debería) dejar de aplicar los estilos definidos para :visited y estilizados como no visitado.

Otra particularidad de la pseudoclase :visited es que no todas las propiedades Css aplican. Estas son las que sí:

  • color
  • background-color
  • border-color
  • border-bottom-color
  • border-left-color
  • border-right-color
  • border-top-color
  • outline-color
  • column-rule-color
  • fill
  • stroke

Limitaciones del selector :visited

La cuestión es de dónde o por qué de estas limitaciones a la pseudoclase :visited. La respuesta la encontramos en los documentos del consorcio desde hace ya tiempo:

Para los autores de las hojas de estilos es factible abusae de las pseudoclases :link y :visited para saber, sin el consentimiento del usuario, qué sitios visitó.
Los agentes de usuario (navegadores) han de tratar a todos los enlaces como no visitados o implementar medidas para preservar la privacidad del usuario mientras los enlaces visitados y no visitados se renderizan de forma distinta.

En el sitio de MDN (Mozilla Developer Network) puedes hallar más información sobre este particular:

  1. Privacy and the :visited selector
  2. Preventing attacks on a user's history through CSS :visited selectors por L. David Baron
  3. Plugging the CSS history leak por Sid Stamm

avatar del Editor del blog

the obCSServer ᛯ Ramajero Argonauta, Enredique Amanuense de CSS.
#impoCSSible inside
Dicen que, en español, EsCss es el mejor blog de CSS. Posíblemente exageren.
@Kseso EsCss Kseso