/ / Impossible de vérifier si la session CGI a expiré - perl, cgi, état de session

Impossible de vérifier si la session CGI a expiré - perl, cgi, état de session

my $arr;
%cookies = CGI::Cookie->fetch;
for (keys %cookies) {
$arr = ($cookies{$_});
}

@arr1 = split("=", $arr);
@arr2 = split(";", $arr1[1]);
$cgi_session = CGI::Session->load($arr2[0]);

print "Content-Type: text/htmlnn";

if ($cgi_session->is_expired) {
print "session expiren";
}
else {
print "session validn";
}

La session est initialisée pour expirer après 1 minmais il va toujours dans autre lors de la vérification si expiré. Bien que la session expire réellement car le code ne fonctionne pas après une minute. Je veux vérifier si j'ai expiré pour rediriger l'utilisateur vers la page de connexion.

Réponses:

0 pour la réponse № 1

Tout d’abord, rien dans votre code n’indique qu’un cookie est en cours d’enregistrement. On ne sait pas comment cela se passe.

Deuxièmement, lorsque vous utilisez CGI :: Session, vous devez appeler $cgi_session->flush() avant la fin du script.

Troisièmement, êtes-vous sûr de vouloir régler tout cela à la main, au lieu d’utiliser un des frameworks Web de Perl comme point de départ?