Greasemonkey: Demande de fonctionnalité : API de cookie

Créé le 7 sept. 2013  ·  8Commentaires  ·  Source: greasemonkey/greasemonkey

Je propose une API cookie. La motivation est de supprimer le cookie "NID" sur google.com pour réduire le suivi, tout en laissant le cookie "PREF" intact. Le problème avec document.cookie est qu'il n'affiche que le cookie "PREF" et rien d'autre, puisque le cookie "NID" appartient à ".google.com". Firefox ne semble pas non plus prendre en charge cette fonctionnalité de manière native et ne doit être désactivée que par domaine.
Certaines API, éventuellement avec des restrictions sur les domaines accessibles, seront utiles dans ce cas.

Commentaire le plus utile

J'ai rencontré quelques situations où j'aimerais faire une manipulation de cookies pour laquelle document.cookie n'était pas suffisant, également. Il y a beaucoup de choses à considérer pour bien faire ça...

Tous les 8 commentaires

Le NID n'est pas visible dans document.cookie car il est httponly=true. Je parie que vous pouvez le remplacer par votre propre valeur factice.

Je pourrais le remplacer sur le domaine actuel, mais pas sur le domaine google.com. Je pense donc que cela peut encore être envisagé, car les cookies sont souvent utilisés pour suivre les utilisateurs.

Ce problème peut-il être rouvert ? Même si je devais remplacer le cookie, il n'y a, disons, aucun moyen de répertorier les cookies sur la page actuelle. L'accès par script utilisateur aux cookies http peut résoudre ce problème, par exemple en utilisant une API GM_cookie() .

Bien sûr, il peut en théorie. Mais la philosophie de Greasemonkey

(Les sites IMO n'utilisent pas HttpOnly par accident, c'est une fonctionnalité de sécurité implémentée intentionnellement. Donc, le cas serait probablement difficile à faire. Et rien ne vous empêche de créer une extension spécifique au site si vous avez besoin d'accéder à des API de niveau inférieur et êtes disposé à être Firefox uniquement en conséquence.)

Désolé d'avoir commenté dans un si vieux numéro.

Je parie que vous pouvez le remplacer par votre propre valeur factice

J'ai essayé et il me semble que ce n'est pas possible. Bien que le navigateur conserve un cookie avec l'indicateur HttpOnly, vous ne pouvez ni y accéder ni l'écraser à partir de JS.

Un dossier solide aiderait

Je ne sais pas à quel point un tel cas est solide, mais je dois supprimer le cookie du script utilisateur afin d'éviter une redirection inutile sur un site spécifique. Et actuellement, ce n'est pas possible car il est défini par le serveur avec l'indicateur HttpOnly.

Je vais mettre en place un scénario d'exemple faible. J'écris sur une page sur laquelle il y a toute une série de cookies. Un cookie provoque un rendu différent de l'ensemble du site Web en raison d'un choix de conception étrange ; le cookie est défini en se connectant à une certaine partie du site Web sans possibilité de se déconnecter n'importe où. Étant donné que ce cookie est défini avec un indicateur httponly, je ne peux pas le corriger à l'aide de la méthode standard document.cookie. Ce serait bien d'avoir un GM_cookie ou quelque chose de similaire pour pouvoir définir/redéfinir/supprimer les cookies qui sont autrement protégés via httponly.

J'ai rencontré quelques situations où j'aimerais faire une manipulation de cookies pour laquelle document.cookie n'était pas suffisant, également. Il y a beaucoup de choses à considérer pour bien faire ça...

Cette page vous a été utile?
0 / 5 - 0 notes