Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PHP: simple session nach Zeitablauf zerstören (https://www.delphipraxis.net/155134-php-simple-session-nach-zeitablauf-zerstoeren.html)

Ajin 10. Okt 2010 14:30


PHP: simple session nach Zeitablauf zerstören
 
Hallo DP!

Ich habe eine simple php seite auf der eine session angelegt wird. Wie kann ich die nach 10 sekündiger Inaktivität automatisch zerstören?

Mein Code:

PHP-Quellcode:
<?
session_start();
if (!empty($_SESSION['irgendwas']) && $_SESSION['time'] < time() - 10)
{
session_destroy();
echo"session ungültig";
} else {
echo"session ok";
$_SESSION['irgendwas'] == time();

?>
An die php.ini komm ich nicht ran...

himitsu 10. Okt 2010 14:34

AW: PHP: simpe session nach Zeitablauf zerstören
 
Zitat:

PHP-Quellcode:
$_SESSION['irgendwas'] == time();

:gruebel:

du meinst/möchtest es bestimmt so
PHP-Quellcode:
$_SESSION['time'] = time();
?

- die Zeit in ['time'] rein
- eine Zusweisung und kein Vergleich :warn:

Ruio 10. Okt 2010 14:40

AW: PHP: simpe session nach Zeitablauf zerstören
 
Und müsste das nicht alles $_SESSION['time'] sein?
Hilft dir session-cache-expire was?

Ajin 10. Okt 2010 15:32

AW: PHP: simpe session nach Zeitablauf zerstören
 
@Ruio: session-cache-expire wird in diesem Fall nichts bringen weil das die Lebenszeit der Session nicht beeinflusst.

Auch

PHP-Quellcode:
<?php
ini_set("session.gc_maxlifetime", "10");
?>
Hilft nicht. Eigentlich sollte sowas doch ganz simpel sein?

Matze 10. Okt 2010 16:03

AW: PHP: simpe session nach Zeitablauf zerstören
 
Hast du es mal mit einem Integer anstelle eines Strings versucht?
PHP-Quellcode:
ini_set('session.gc_maxlifetime', 10);
session_start();

Ajin 10. Okt 2010 16:22

AW: PHP: simpe session nach Zeitablauf zerstören
 
Habe ich auch versucht, die Session bleibt immer erhalten und verliert nie ihre Gültigkeit.

PHP-Quellcode:
<?
ini_set('session.gc_maxlifetime', 10);
session_start();
$_SESSION['irgendwas'] = 'test';

echo ini_get("session.gc_maxlifetime");

if (empty($_SESSION['irgendwas']))
{
//session ungültig
session_destroy();
echo"session nicht ok";
} else {
//alles klar!
echo"session ok";

?>

Valle 10. Okt 2010 16:53

AW: PHP: simpe session nach Zeitablauf zerstören
 
Nimm doch einfach einen Eintrag in der Session selbst.

PHP-Quellcode:
session_start();

if (!array_key_exists('time', $_SESSION)) {
    $_SESSION['time'] = time();
    echo "(Session erstellt.)\n";
}

if (time() - $_SESSION['time'] > 10) {
    echo "Ihre Session ist leider bereits abgelaufen.\n";
} else {
   echo "Herzlichen Glückwunsch, Ihre Session ist noch gültig!\n";
}
Liebe Grüße,
Valle

Ajin 10. Okt 2010 17:24

AW: PHP: simpe session nach Zeitablauf zerstören
 
Das scheint zu funktionieren :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz