2009-06-16 4 views
1

Le projet sur lequel je travaille obtient des cookies du navigateur pour vérifier certaines choses. En FF, Safari, ou Chrome, cela fonctionne bien, mais dans IE 8 (ne pas avoir une version antérieure de IE pour tester et MSFT ne me laissera pas désinstaller IE 8 et avoir un IE 7 de travail), les seuls cookies il voit sont les cookies de session, pas l'un des cookies persistants (ceux trouvés dans les fichiers Internet temporaires). Cette même méthode est utilisée ailleurs dans l'application, et dans IE 8 lorsque c'est sur sa propre page, fonctionne très bien. Seulement quand il est contenu comme un petit pixel sur une autre page est quand il ne peut pas sembler trouver les cookies. J'ai regardé la demande pour voir si c'était peut-être sous un domaine différent, mais non, même domaine. C'est bizarre parce qu'il peut voir les cookies de session (ceux qui n'ont pas d'expiration qui devrait expirer à la fin de la session du navigateur) mais rien d'autre.IE 8 a seulement accès aux cookies de session?

Quelqu'un a déjà vu quelque chose comme ça? Je répondrai à toutes les questions dès que possible.

Ceci est en .NET en utilisant Context.Request.Cookies simples

+1

En utilisant les cookies de session dans une application qui fonctionne dans IE7 et IE8. Je voudrais vérifier vos paramètres de sécurité IE. Pouvez-vous renifler la requête HTTP en utilisant Fiddler ou un autre outil de reniflage HTTP? Cela pourrait vous donner une meilleure idée de ce qui est transmis du navigateur au serveur. – Adam

+0

Depuis que j'exécute le serveur localement, je peux mettre des points d'arrêt et regarder la demande elle-même. Pour une raison quelconque, la collection Request.Cookies a UNIQUEMENT le cookie de session qui a été défini au début de la session (redirection pré-serveur). Je suppose que je devrais mentionner que la même méthode exacte au même endroit à partir du même pixel fonctionne bien, quand il ne sort pas d'un Server-Side-Redirect. Ce n'est qu'après la redirection côté serveur que le cookie de la session est visible par les cookies, même si tout le reste de la requête est identique. –

+0

En outre, cela semble se produire uniquement sur mon IE 8, il ne semble pas reproductible sur d'autres machines IE 8. Re-Installation ne le répare pas. –

Répondre

0

Certains spammeurs utiliser des images 1x1 et iframes farcir les cookies d'affiliation, et IE8 a apparemment des mesures contre cette technique. Pourriez-vous souffrir comme une victime innocente d'une attaque anti-spammeur?

+0

La fonctionnalité "InPrivate Filtering" est désactivée par défaut et n'est probablement pas un facteur ici. – EricLaw

2

C'est probablement la politique de confidentialité. Il existe des en-têtes que vous pouvez définir pour autoriser les cookies d'autres domaines que celui affiché dans la barre d'adresse. Voici the best description I've found sur la façon de s'y prendre pour le réparer.

+0

En effet, vous devez probablement définir une stratégie P3P s'il s'agit d'un cookie tiers. – EricLaw