9
votes

Asp.net: Demander des cookies ont null pour le domaine?

Quand j'examine mon httpcontext.current.Request.cookies, certains de mes cookies ont NULL pour leur membre du domaine.

Pourquoi / quand est un domaine null?


0 commentaires

3 Réponses :


2
votes

Par défaut, les cookies sont associés au domaine actuel.

donc si sur site

www.foo.com

Et vous effectuez les suivants: xxx

Le domaine sera

www.foo.com

.

Cependant, vous pouvez remplacer cette fonctionnalité en définissant la portée du domaine: xxx

Le cookie ne sera alors que être disponible pour les demandes dans ce sous-domaine spécifique.

Donc, bien sûr, vous pouvez définir le domaine sur NULL, mais je ne peux pas envisager un scénario où cela serait utile.

Vérifiez comment vous Créez vos cookies.

Référence: http: // msdn.microsoft.com/en-us/library/ms178194.aspx


1 commentaires

Votre réponse consiste à définir des cookies. Sa question concerne la lecture (sur le serveur) des cookies de la demande.



10
votes

La propriété de domaine est uniquement destinée à définir des cookies. Évidemment, si vous lisez le cookie dans le cadre de la demande, le navigateur client a estimé que le domaine était adapté de manière appropriée à votre site.


0 commentaires

0
votes

un HTTPCOOKIE 'S membre NULL est null lorsque le framework .NET construit une instance de la classe httpcookie , initialise sa valeur des valeurs stockées dans un fichier de configuration d'exécution (System.web / httpcookies), et le membre n'est pas écrasé avec une autre valeur (non spécifiée). La valeur non spécifiée indique que le cookie doit être envoyé par l'agent d'utilisateur (généralement un navigateur) pour seul le serveur originaire le cookie et aucun autre.

Selon la norme Internet proposée Mécanisme de gestion de l'état HTTP de RFC6265 :

Si le serveur omet l'attribut de domaine, l'agent utilisateur sera renvoyer le cookie uniquement sur le serveur d'origine.

AVERTISSEMENT: Certains agents utilisateur existants traitent un domaine absent attribuer comme si l'attribut de domaine était présent et contenu le nom d'hôte actuel. Par exemple, si Exemple.com renvoie un En-tête Set-Cookie sans attribut de domaine, ces agents utilisateur seront Envoyez à tort le cookie à www.example.com aussi.

th rfc ne définit aucune valeur spécifique pour non spécifié , de sorte que les implémentations peuvent choisir quelle que soit la valeur ou les valeurs qu'ils aiment. Microsoft a choisi de représenter l'élément de domaine en tant que valeur de chaîne, donc null ou "" ( string.empty ) représente non spécifié , mais implicitement La valeur par défaut configurée est null .

Si vous recevez un cookie qui a une valeur de domaine de null , cela signifie que l'agent utilisateur a traité le cookie, a décidé que son origine correspondait au serveur, elle envoie la demande et incluse les données de cookie. Dans le cookie de la demande de la demande. De même, si vous retournez ce cookie, vous pouvez vous attendre à recevoir ce cookie dans une autre demande que par le même hôte qui exécute votre application.

dans une application ASP.NET, si string.isnullorempty (cookie.domain) est vrai, vous pouvez assumer que l'agent utilisateur incluait le cookie dans la demande au serveur. Il a été décidé. , Ie demande.url.host .


0 commentaires