
Sehr geehrte Besucher, wir mochten gern, dass dieses Forum weiterhin ein hohes Niveau besitzt. Ausserdem mochten wir gerne vermeiden, dass Fragen immer doppelt vorkommen. Deshalb appellieren wir auf Ihre Geduld und bitten Sie zuerst nach Antworten zu suchen und erst dann Fragen zu stellen. Benutzen Sie bitte dafur entweder das Sucheformular unten, oder unsere Suchmaschine, wenn Sie nach Befehlen, oder sonstigen Inhalten fundig werden mochten. Zum Forum | Seite 0 |  Gültigkeit eines Cookie auslesen | derSESO | 19.06.2010 | 08:20:12 |  Konzept | Unbekannt | 20.06.2010 | 21:24:46 |  Hoffnung | Unbekannt | 26.06.2010 | 20:06:40 |  [Kein Betreff] | Mannes | 28.06.2010 | 15:40:51 |  Gültigkeit eines Cookie auslesen | Günni | 01.07.2010 | 01:13:49 | @derSESO
Ein JavaScript-Profi würde wahrscheinlich was besseres "zaubern", aber vielleicht
hilft das hier ja schon mal weiter. Der Cookie wird beim Seitenaufruf gesetzt. Die
aktuelle Zeit wird einer Variablen zugewiesen und in Millisekunden umgerechnet.
Und zwar die Zahl Millisekunden, die seit dem 01.01.1970 verstrichen ist.
Dann wird eine Variable mit 3 Std. in Millisekunden belegt, das ist die Gültigkeitsdauer.
Zusätzlich noch eine Variable mit 15 Min. in Millisekunden, das ist die Frist, bis zum
Ablauf.
Die Eventhandler "document.onclick" und "document.onkeydown" werden mit dem Funktionsnamen
belegt, und immer wenn der User aktiv ist (mit Tastatur oder Maus), wird die Funktion
aufgerufen, vergleicht die gespeicherte "Startzeit" mit der aktuellen Zeit und wenn die
Differenz größer ist als "aktuell - (start - frist)", hat die Frist begonnen und wenn die
Differenz größer ist als "aktuell - start", ist der Cookie abgelaufen.
Die Variable geprueft wird auf true gesetzt, wenn der User über die Ablauffrist informiert wurde.
Ansonsten würde die Info innerhalb der Frist immer wieder erscheinen und der User könnte dann
nicht mehr weiter arbeiten.
***************************** Script ************************************************************
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
<!--
/*
* Variable wird auf true gesetzt, wenn . . .
* - das Meldefenster mit der Ablauffrist angezeigt wird.
* - das Cookie komplett abgelaufen ist, und eine Meldung
* - ausgegeben wird, dass man nun ausgeloggt wird.
*/
var geprueft = false;
function pruefe_cookie(){
if(document.cookie){
var nun = new Date();
/*
* Die Zeit, die seit 1. Januar 1970, 0:00:00 Uhr UTC vergangen ist, in Millisekunden
*/
nun = nun.getTime();
/*
* 3 Std. in Millisekunden
*/
// var abgelaufen = 3*60*60*1000;
/*
* 15 Min. in Millisekunden
*/
// var frist = 15*60*1000;
/*
* Zum Testen habe ich mal kleine Werte eingegeben
*/
var abgelaufen = 20000; // 20 Sekunden
var frist = 5000; // 5 Sekunden
var cookie = document.cookie;
var cookie_array = cookie.split(";");
var start = cookie_array[1];
start = start.substring(start.indexOf("=") + 1);
}else{
var cookie_name = "Name_Cookie";
var start = new Date();
start = start.getTime();
document.cookie = "Name="+cookie_name;
document.cookie = "Start="+start;
}
/*
* Wenn der Cookie komplett abgelaufen ist
*/
if((nun - start) > abgelaufen){
geprueft = true;
alert("Ihr Cookie ist abgelaufen. Sie werden jetzt ausgeloggt!");
window.location.href = "logout.php"; //Oder irgendwas anderes
}
/*
* Wenn die Ablauffrist begonnen hat
*/
if((nun - start) > (abgelaufen - frist) && !geprueft){
geprueft = true;
alert("Sie werden in ca. " + Math.ceil((frist/60/1000)) + " Minute(n) ausgeloggt!");
}
}
/*
* Wenn der User mit der Maus klickt, eine Taste drückt
* wird die Funktion aufgerufen
*/
document.onclick = pruefe_cookie;
document.onkeydown = pruefe_cookie;
// -->
</script>
</head>
<body onload="pruefe_cookie()">
</body>
</html>
***************************** Script Ende *******************************************************
Wie gesagt, ist nur 'ne Idee, wie man es machen könnte.
Gruß
Günni
| Antworten | Zurück | Eine neue Frage stellen | der Beitrag muss weg! |
|
|
|
|
|