Home / Programmazione / Javascript - AJAX / Autologout con Javascript
Mattepuffo

Autologout con Javascript

Autologout con Javascript

Mi sono trovare ad affrontare una questione: quella di dover impostare un autologout dopo un tot di tempo (20 minuti).

Basando il logi su sessioni, avrei potuto diminuire il tempo di sessione; solo che mi rimaneva scomodo, in quanto su alcuni programmi dovevo imspotare questo autologout.

Come fare?

Una soluzione ce la da Javascript usando un timeout.

Vi consiglio di metterlo in un file a parte da includere solo dove vi serve.

Questo il contenuto:

var timer;
var wait = 1200000; // 20 minuti
document.onkeypress = resetTimer;
document.onmousemove = resetTimer;
function resetTimer() {
    clearTimeout(timer);
    timer = setTimeout("logout()", wait);
}

function logout() {
    window.location.href = 'logout.php';
}

Ogni volta che viene premuto un tasto o mosso il mouse il timer viene resettato con la funzione resetTimer(), e riparte il timer.

Sennò dopo 20 minuti di attesa viene fatto un redirect ad una pagina che effettua il logout (che ad esempio distrugge la sessione corrente).

Le funzioni JS usate sono clearTimeout() per cancellare il timeout, e setTimeout() per impostarlo.

Come vedete è tutto abbastanza semplice!