Voici comment je vois une extension Firefox pour permettre d'implémenter ce comportement:
Vocabulaire:
session: fichier cookies.txt contenant une masse de cookies, cookie jar
Fenêtre de navigateur: une fenêtre ou un onglet, c'est pareil
frame: cadre ou iframe. Inclusion d'une autre page web dans un cadre à l'intérieur de la page web
Comportement à la création d'une fenêtre:
Création d'une nouvelle fenêtre sans referrer: on crée une nouvelle session associée à cet onglet
Création d'une nouvelle fenêtre après suivi d'un lien: on réutilise la session du referrer
Comportement au chargement d'une page:
les cookies sont acceptées uniquement pour la requête principale (celle de la barre d'adresse). Aucune autre demande de cookies n'est acceptée, sauf ...
pour chaque frame, une nouvelle session est créée
si deux frames de la même page pointent sur un même domaine, deux sessions sont créées. Pour le moment, mieux vaut s'en tenir à des règles simples, on verra ensuite si elles peuvent être assouplies.
Comportement suite au clic sur un lien:
le lien est chargé avec la session de la page qui contenait le lien. Que ce soit une page dans une frame ou en pleine page. Même si on ouvre un nouvel onglet/fenêtre
si on clique sur un lien qui remplace la page en cours, et que cette page avait des frames, les sessions de ces frames sont perdues.
Fonctions supplémentaires:
chaque fenêtre se voit orné d'un bouton à deux états "autoriser les sessions". Si les sessions sont autorisées, le comportement précédant est appliqué. Si les sessions sont interdites dans cet onglet, alors aucune session n'est autorisée dans cet onglet, que ce soit en pleine page ou dans une frame.
chaque fenêtre se voit ornée d'un bouton représentant la session de cet onglet. On peut imaginer qu'une icône unique soit générée pour distinguer les sessions (à la manière des avatars StackOverflow). Un clic que ce bouton ouvre un menu avec les sessions de l'onglet en cours. Pour chaque session, il est possible de l'oublier ou la remplacer par une session existante en mémoire.
une préférence permet de choisir si en l'absence d'intervention de l'utilisateur dans le menu cité précédemment, les sessions sont automatiquement acceptées ou automatiquement rejetées. Une préférence existe pour les sessions de pleine page, une autre pour les sessions dans les frames.
# Anatomie d'une extension Firefox
Posté par Mildred (site web personnel) . En réponse au journal Et pourquoi pas un nouveau modèle de sécurité pour le web ?. Évalué à 3.
Voici comment je vois une extension Firefox pour permettre d'implémenter ce comportement:
Vocabulaire:
cookies.txtcontenant une masse de cookies, cookie jarComportement à la création d'une fenêtre:
Comportement au chargement d'une page:
Comportement suite au clic sur un lien:
Fonctions supplémentaires:
chaque fenêtre se voit orné d'un bouton à deux états "autoriser les sessions". Si les sessions sont autorisées, le comportement précédant est appliqué. Si les sessions sont interdites dans cet onglet, alors aucune session n'est autorisée dans cet onglet, que ce soit en pleine page ou dans une frame.
chaque fenêtre se voit ornée d'un bouton représentant la session de cet onglet. On peut imaginer qu'une icône unique soit générée pour distinguer les sessions (à la manière des avatars StackOverflow). Un clic que ce bouton ouvre un menu avec les sessions de l'onglet en cours. Pour chaque session, il est possible de l'oublier ou la remplacer par une session existante en mémoire.
une préférence permet de choisir si en l'absence d'intervention de l'utilisateur dans le menu cité précédemment, les sessions sont automatiquement acceptées ou automatiquement rejetées. Une préférence existe pour les sessions de pleine page, une autre pour les sessions dans les frames.
Vous avez une idée de comment implémenter ça ?