Cookie et Internet Explorer

Cookie et Internet Explorer - ASP - Programmation

Marsh Posté le 20-09-2005 à 18:20:00    

J'ai un problème (je pense) similaire, je bosse en ASP VBScript
 
J'ai une page inscription en plusieurs étapes et pour garder le fil avec une personne qui s'enregistre (j'utilise une clef unique), avant d'arriver sur le formulaire, la personne passe sur une page de redirection qui fait les choses suivantes:
 
détruit le cookie existant(date antérieur)
génère une nouvelle clef unique
crée un nouveau cookie avec la nouvelle valeur
dirige vers la première page d'insciption...

 
Ce cookie contient donc un numéro unique que je crée...
 
Si cette personne veut se réinscrire (ou inscrire un ami), elle repasse par cette page de redirection et...
 
Sous Firefox, tout va bien, il prends bien en compte le nouvelle clée crée...
Mais sous explorer, il obliger le "refresh" de la page pour accepter la nouvelle clé !!!
 
Explorer me fait **** ;)
Je ne comprends pas comment c'est possible puisque le cookie et l'ancienne clef est détruite !!! Sans doute un problème de cache, mais comment en venir à bout !
Je ne trouve pas de solution... Alors help-me !
 
MERCI !!!

Reply

Marsh Posté le 20-09-2005 à 18:20:00   

Reply

Marsh Posté le 20-09-2005 à 18:27:58    

Cela marche peut-être en mettant un meta, par exemple

<meta http-equiv="no-cache">
ou
<meta http-equiv="Pragma" content="no-cache">  

dans la section <head> de la page. :)

Reply

Marsh Posté le 20-09-2005 à 19:47:02    

Malheureusement, j'ai déjà essayer ça et ça ne change rien.
 
C'est vraiment bizarre que tout fonctionne bien sous FireFox mais pas IE... Grrrr
 
ça me rend dingue... Je ne vois pas de solution...

Reply

Marsh Posté le 22-09-2005 à 19:49:22    

J'ai trouvé des infos cachées à propos du cache.
 
Il y a le site http://www.web-caching.com/ qui explique beaucoup de choses à propos du cache. Malheureusement, le soucis principal de l'auteur est de remplir le cache, et non pas de le vider ou de le rafraichir. Néanmoins il y a quelques infos intéressantes. Par exemple, il y est dit que les meta tags ne sont pas efficaces, qu'il faut indiquer CacheControl = "no-cache" au niveau de la configuration du serveur.
 
Sur le site de Microsoft se trouve une page dont le titre est "PROCÉDURE : Empêcher la mise en cache dans Internet Explorer", http://support.microsoft.com/kb/q234067/ .

Citation :

Les balises META HTTP-EQUIV de contrôle du cache sont ignorées et n'ont aucun effet dans Internet Explorer versions 4 ou 5...
Pour utiliser le contrôle du cache, cet en-tête doit être spécifié à l'aide d'en-têtes HTTP ...
Vous pouvez utiliser Microsoft Internet Information Server (IIS) pour marquer facilement des pages très volatiles ou confidentielles en utilisant le script suivant au tout début des pages ASP (Active Server Pages) : <% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
Lorsque l'en-tête de contrôle du cache doit être utilisé sur des pages non-ASP, il peut être nécessaire d'utiliser des options de configuration du serveur pour ajouter automatiquement cet en-tête. Reportez-vous à la documentation de votre serveur pour connaître la procédure à suivre pour ajouter des en-têtes HTTP à des réponses de serveurs pour un répertoire particulier.


 
Des explications complémentaires et une autre solution sont indiquées sur la page http://support.microsoft.com/kb/222064/

Citation :

A page that Internet Explorer is browsing is not cached until half of the 64 KB buffer is filled. Usually, metatags are inserted in the header section of an HTML document, which appears at the beginning of the document. When the HTML code is parsed, it is read from top to bottom. When the <HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> metatag is read, Internet Explorer looks for the existence of the page in cache at that exact moment. If it is there, it is removed.  
 
To properly prevent the Web page from appearing in the cache, place another header section at the end of the HTML document. For example:
 
<HTML>
<HEAD>
<META HTTP-EQUIV="REFRESH" CONTENT="5">
<TITLE> Pragma No-cache </TITLE>
</HEAD>
<BODY>
This is an example of where to place the second header section<br>
so that the "Pragama, No-Cache" metatag will work as it is supposed to.<br>
</BODY>
<HEAD>
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</HEAD>
</HTML>
 
Note that the <HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> metatag does not work with Internet Explorer 5.


 
Cela dit pour Internet Explorer 4 et 5, il existe un bug qui fait que les pages dont le nom contient un caractère euro € ne sont pas relus dans le cache. Voir http://support.microsoft.com/suppo [...] 6/3/04.ASP
 :pt1cable:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed