Protection page avec cookie de session expire [Résolu]

Signaler
Messages postés
273
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
31 mars 2015
-
Messages postés
273
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
31 mars 2015
-
Bonjour,
Je voudrais créer une page d'authenfication donnant accès à une page necessitant un cookie de session qui est crée lors de l'authentification et qui sera détruit lors lorsqu'il cliquera sur un lien de type logout.

J'ai crée ma page d'authentification mais j'ai l'impression que le cookie ne se crée pas puisque je n'arrive pas à accéder à la page suivante. Je mets le code source de mes 2 pages (authentification et la page protégée).

Voici le code de ma page d'authentification :
<script>
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name)  {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)  {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value)  {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}


function cookieCreater () {


var expdate = new Date ();
expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 365));
SetCookie('FreeStuffL', expdate); 


}


</script>
</head>



Page d'authentification :

<form action="page.htm" method="post" name="messagerie">

 
</form>

Le code de ma page protégée par le cookie de session :
<script>
if(GetCookie('FreeStuffL') == null)
alert ("I'm sorry.  You can not view this area!  You will be bounced to the login page...");
location.href="Auth.htm";


function GetCookie (name)  {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)  {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}


function DeleteCookie () {
var exp = new Date();
exp.setTime (exp.getTime() - 1000000000);  // This cookie is history
var cval = GetCookie ('FreeStuffL');
document.cookie ='FreeStuffL' + "=" + cval + "; expires=" + exp.toGMTString();   
}
</script>

Page protégée !

[ Logout]

Si quelqu'un peut m'aider parce que je maitrise pas vraiment bien les cookies.
Merci.

Jarod_Delaware

2 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,
   
niveau protection, les cookies, c'est un peu léger...

un cookies c'est un "string, avec une date de péremption".

pour le créer :
   var expire = new Date ();
   expire.setTime ( expire.getTime() + (24 * 60 * 60 * 1000) );
   document.cookie = "ce qu'on veut ici; expires=" +expire.toGMTString();

    // ici donc, il expirera dans 24 h  ( date et heure actuelle + milli secondes )

pour le lire :
    var tmp=document.cookie;
            récupèrera "
ce qu'on veut ici"


tester s'il existe :
    if ( document.cookie )
le détruire :
    mettre une date périmée , ou pas d'expire...

   var expire = new Date ();

   expire.setTime ( expire.getTime() - 1000 );

   document.cookie = "il sera détruit ; expires=" +expire.toGMTString();








il est vrai que la plupart des docs compliquent l'hitoire

      en montrant une mémorisation d'infos multiples dans le cookies
       ce qui n'a rien à voir avec le cookie en lui même.

<hr />


Cordialement                Bul    
Messages postés
273
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
31 mars 2015
1
Salut Bul,

Merci pour les explications, elles claires, limpides. Impeccables !

Merci encore.

Jarod_Delaware