J'ai besoin de récupérer tous les cookies stockés dans mon navigateur en utilisant JavaScript. Comment ceci peut être fait?
J'ai besoin de récupérer tous les cookies stockés dans mon navigateur en utilisant JavaScript. Comment ceci peut être fait?
Réponses:
Vous ne pouvez accéder aux cookies que pour un site spécifique. En utilisant, document.cookie
vous obtiendrez une liste de paires clé = valeur échappées séparées par un point-virgule.
secret=do%20not%20tell%you;last_visit=1225445171794
Pour simplifier l'accès, vous devez analyser la chaîne et échapper toutes les entrées:
var getCookies = function(){
var pairs = document.cookie.split(";");
var cookies = {};
for (var i=0; i<pairs.length; i++){
var pair = pairs[i].split("=");
cookies[(pair[0]+'').trim()] = unescape(pair.slice(1).join('='));
}
return cookies;
}
Vous pourriez donc écrire plus tard:
var myCookies = getCookies();
alert(myCookies.secret); // "do not tell you"
HttpOnly
cookies.document.cookie
propriété, qui contient une liste de paires séparées par des points - virgulesname=value
.Vous ne pouvez pas. De par sa conception, pour des raisons de sécurité, vous ne pouvez accéder qu'aux cookies définis par votre site. StackOverflow ne peut pas voir les cookies définis par UserVoice ni ceux définis par Amazon.
Approche moderne.
let c = document.cookie.split(";").reduce( (ac, cv, i) => Object.assign(ac, {[cv.split('=')[0]]: cv.split('=')[1]}), {});
console.log(c);
;)
Étant donné que le titre ne spécifie pas qu'il doit être programmatique, je suppose qu'il s'agit d'un véritable problème de débogage / de gestion de la confidentialité et que la solution dépend du navigateur et nécessite un navigateur avec une gestion détaillée des cookies intégrée et / ou un module de débogage ou un plug-in / extension. Je vais en énumérer un et demander à d'autres personnes d'écrire en détail sur les navigateurs qu'ils connaissent et d'être précis avec les versions.
Chrome, construction de fer (SRWare Iron 4.0.280)
Le menu clé (outil): Options / Sous le capot / [Afficher les cookies et les autorisations du site Web] Pour les domaines / sites associés, tapez le suffixe dans la zone de recherche (comme .foo.tv). Attention: lorsque vous avez un nœud (site ou cookie) mis en surbrillance, utilisez uniquement [Supprimer] pour tuer des sous-arbres spécifiques. L'utilisation de [Supprimer tout] supprimera toujours les cookies pour tous les sites sélectionnés par la recherche et gaspillera votre session de débogage.
Si vous développez des extensions de navigateur, vous pouvez essayer browser.cookies.getAll ()
Ce que vous demandez est possible; mais cela ne fonctionnera que sur un navigateur spécifique. Vous devez développer une application d'extension de navigateur pour y parvenir. Vous pouvez en savoir plus sur l'API Chrome pour mieux comprendre. https://developer.chrome.com/extensions/cookies