4 points par xguru 2025-04-11 | 1 commentaires | Partager sur WhatsApp
  • Pour résoudre l’ancien problème de sécurité du Web lié à la divulgation de l’historique de navigation des utilisateurs via le style des liens :visited, une nouvelle fonctionnalité a été introduite
  • À partir de Chrome 136, l’historique :visited est désormais « partitionné » (partitioning), ce qui améliore l’architecture de manière à bloquer ces attaques à la source
  • La fonctionnalité permettant de distinguer visuellement les liens visités est conservée, tout en étant conçue pour empêcher son exploitation par d’autres sites

Explication du partitionnement des liens :visited

  • Dans l’ancien fonctionnement, lorsqu’un lien était cliqué, il apparaissait comme :visited sur n’importe quel site
  • Il s’agissait d’un défaut de sécurité de conception permettant à un site malveillant de suivre l’historique de navigation d’un utilisateur
  • Exemple : après avoir cliqué sur un lien vers Site-B depuis Site-A, si le même lien figurait aussi sur Site-Evil, Site-B apparaissait comme :visited, ce qui permettait de savoir si l’utilisateur l’avait déjà visité
  • Dans la nouvelle architecture, l’historique de visite est stocké uniquement pour la combinaison « site A + cible du lien B »
  • Autrement dit, sur Site-Evil, le lien n’apparaît pas comme :visited, puisque l’utilisateur ne l’a pas cliqué dans ce contexte
  • En conséquence, l’historique n’est plus stocké de façon globale (global), mais séparé selon « l’URL du lien + le site de premier niveau + l’origine de la frame »

Gestion des liens au sein d’un même site

  • Supposons qu’un utilisateur effectuant des recherches sur les types de métaux ait cliqué, sur metals.com, sur les pages chrome et brass de site.wiki
  • Plus tard, lorsqu’il visite la page gold de site.wiki, les liens vers chrome et brass ne s’affichent pas comme :visited (car le contexte du clic est différent)
  • Pour corriger cela, une exception self-links a été introduite
  • Les liens vers des sous-pages d’un même site s’affichent comme :visited même s’ils n’ont pas été cliqués dans exactement le même contexte
  • Cela est autorisé car un site peut déjà suivre l’historique de navigation de ses propres utilisateurs, et il a donc été jugé qu’aucune information supplémentaire n’était exposée
  • En revanche, cette exception ne s’applique pas aux sites tiers ni aux liens tiers dans des iframe

État du déploiement de la fonctionnalité

1 commentaires

 
xguru 2025-04-11

J’avais aussi essayé d’utiliser :visited sur GeekNews, mais à cause des contraintes de sécurité, il n’y avait presque rien de faisable, donc j’avais fini par abandonner.
Si tout cela est pris en compte, il sera peut-être possible d’avoir des styles bien plus variés.