Bonjour,
J'ai un petit soucis avec le session_id
J'ai un site avec session_id. Dans ce site, si l'utilisateur click sur un lien, cela ouvre une iframe avec une page d'un autre site. (Tout cela se fait en javascript)
Le problème est que le session_id du premier site est passé automatiquement au second site. Et ce second site (qui est une applet oracle forms), quand il voit le session_id refuse la connexion et j'ai un joli message d'erreur.
Bref après plusieurs heures, j'ai compris que le problème était le session_id car lorsque j'ouvre une nouveau browser et entre l'url directement ça fonctionne mais quand je pars du premier site, ça foire.
J'ai trouvé le moyen de supprimer l'id_session en javascript et ça fonctionne mais... comme id_session est suprrimé l'utilisateur n'est plus authentifié sur le premier site....
J'avais trouvé un moyen de stocker l'id_session temporairement dans une variable, le temps d'ouvrir l'iframe puis je remets l'id_session comme avant mais apparemment ça ne fonction pas. Je trouve cependant que c'est faire compliqué.
J'ai le même problème si je remplace l'iframe par une <A>
Donc la question que je pose c'est comment en javascript empècher IE de passer l'id_session à une iframe (ou même un lien <a>)
Merci beaucoup,
Vodnok
voici le js que j'utilise pour deleter et réécrire le cookie_session
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 function writePersistentCookie (CookieName, CookieValue, periodType, offset) { var expireDate = new Date (); offset = offset / 1; var myPeriodType = periodType; switch (myPeriodType.toLowerCase()) { case "years": var year = expireDate.getYear(); // Note some browsers give only the years since 1900, and some since 0. if (year < 1000) year = year + 1900; expireDate.setYear(year + offset); break; case "months": expireDate.setMonth(expireDate.getMonth() + offset); break; case "days": expireDate.setDate(expireDate.getDate() + offset); break; case "hours": expireDate.setHours(expireDate.getHours() + offset); break; case "minutes": expireDate.setMinutes(expireDate.getMinutes() + offset); break; default: alert ("Invalid periodType parameter for writePersistentCookie()"); break; } document.cookie = escape(CookieName ) + "=" + escape(CookieValue) + "; expires=" + expireDate.toGMTString() + "; path=/"; } function deleteCookie (cookieName) { if (getCookieValue (cookieName)) writePersistentCookie (cookieName,"Pending delete","years", -1); return true; }
Partager