web-dev-qa-db-fra.com

Comment définir un indicateur de sécurité des cookies à l'aide de javascript

J'ai essayé de définir un cookie à l'aide de document.cookie = "tagname = test; secure", mais cela ne définit pas l'indicateur sécurisé. Est-ce que je me trompe? Pouvez-vous le définir uniquement à partir d'une réponse du serveur? Je me demande aussi que, parce que j’ai eu du mal à trouver un exemple de son utilisation, cela n’est probablement pas couramment utilisé

Merci beaucoup!

20
BobtheMagicMoose

TL: DR

document.cookie = "tagname = test;secure";

Vous devez être sous HTTPS pour définir un attribut sécurisé

Le nom normal (ou formel, peut-être) est attribut. Depuis le drapeau se réfère à d'autres choses (voir ci-dessous). 

Plus d'informations

Attributs de cookie:

Sécurisé - Le cookie sera envoyé dans un canal sécurisé - HTTPS

HttpOnly: n'autorise pas les scripts locaux à lire les cookies.

Domaine - Vérifiez les paramètres du domaine.

Chemin - Vérifiez les paramètres du chemin.

Expires - Déterminez l'agent utilisateur comment analyser ou comment choisir le délai d'expiration. 

Plus de détails et usages pratiques. Vérifier Testing_for_cookies_attributes_ (OTG-SESS-002)

Drapeaux Cookie

Les drapeaux de cookies sont des préfixes. Celles-ci sont décrites dans le RFC draft en tant que mise à jour du RFC6265

Ces drapeaux sont utilisés avec l'attribut 'secure'.

__Secure-

Le tiret fait partie du préfixe. Cet indicateur indique au navigateur que le cookie ne doit être inclus que dans "https".

__Host-

Un cookie avec cet indicateur 1) ne doit pas avoir l'attribut 'domaine', il sera uniquement envoyé à l'hôte qui l'a configuré. 2) Doit avoir un attribut 'chemin', défini sur '/', car il sera envoyé à l'hôte dans chaque quête de l'hôte.

J'espère ne rien avoir mal compris, ces 'textes formels' sont légèrement difficiles à corriger, corriger ou modifier le texte pour le rendre plus lisible serait apprécié.

33
Jacob

parce que le drapeau s'appelle secure , pas security:

document.cookie = "tagname = test;secure";
1
Tudor Constantin