php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.06.2005, 21:21  
Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 70
schmiddy
schmiddy eine Nachricht über ICQ schicken
Standard sessions logout

hi,
ich habe mein loginskript mit sessions eigentlich fertig!!Nur ist gez das prob, dass wenn die session registriert ist, sie nur gelöscht wird, wenn man auf logout klickt! Eigentlich gut... nur,wenn sich jetzt ein anderer user einloggt auf dem gleichen rechner und nicht auf ausloggen geklickt wurde, loggt sich der user auf den account des anderen ein!! Wie kann ich ein zeitlimit für die session setzen, oder besser, wie kann ich es machen, dass wenn man den browser schliesst die session gelöscht wird??

MfG

Schmiddy
schmiddy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 09.06.2005, 21:30  
Gast
 
Beiträge: n/a
Standard

Browser schließen -> Session ist immer weg. php.ini -> session.gc_maxlifetime.
 
Alt 09.06.2005, 21:31  
Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 70
schmiddy
schmiddy eine Nachricht über ICQ schicken
Standard

irgendwie versteh ich net was du mir sagen willst ^^ was genau muss ich denn machen??
schmiddy ist offline  
Alt 09.06.2005, 21:39  
Gast
 
Beiträge: n/a
Standard

Ich zitiere die php.ini:
Zitat:
Zitat von php.ini
After this number of seconds, stored data will be seen as 'garbage' and cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440
Das heißt: nach der Anzahl an Sekunden ist die Session Müll.

Dann gibt es da noch:
Zitat:
Zitat von nochens php.ini
; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 0
Für die Cookie-Lebenszeit.
 
Alt 09.06.2005, 21:41  
Erfahrener Benutzer
 
Registriert seit: 08.05.2005
Beiträge: 814
andy
andy eine Nachricht über ICQ schicken
Standard

Du kannst auch beim einloggen den timestamp in die session schreiben, und dann am scriptanfang immer prüfen ob der timestamp nicht zu alt ist.

z.b. 10min keine aktion...
Wäre was wenn du keine einstellungen machen kannst

PHP-Code:
<?php
$timestamp   
time();
$limit_zeit  $timestamp -600 ;

            IF(
$_SESSION["last_action"] > $limit_zeit){
                
$_SESSION["last_action"] = $timestamp;
            }
            else{
                 
session_destroy();
            }

?>
__________________
Zitat:
Diese Erweiterung ist EXPERIMENTELL.
[...]
Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko..
andy ist offline  
Alt 09.06.2005, 22:13  
Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 70
schmiddy
schmiddy eine Nachricht über ICQ schicken
Standard

hi, gez werd ich aber immer ausgeloggt!!

DER code der check.php
PHP-Code:
<?php
include("config.php");
$login=0;
if (isset(
$_REQUEST['benutzer'])) {
    
$benutzer $_REQUEST['benutzer'];
}
if (isset(
$_REQUEST['pass'])) {
    
$pass $_REQUEST['pass'];
}   
require(
"config.php");
$db=mysql_connect("$host""$user""$pw");
mysql_select_db("$dba");
$anfrage="SELECT * FROM login WHERE benutzer LIKE '$benutzer'";
$ergebnis=mysql_query($anfrage);
$anz=mysql_num_rows($ergebnis);
if (
$anz==1) {
    
$zeile=mysql_fetch_row($ergebnis);
    if (
$pass==$zeile[1]) {
        
session_start();
        
$login=1;
        
session_register('login');
        
header('Location: intern.php?id='.session_id());
    }
    else {
        print (
'<html><body background="img/back.jpg">');
        print (
'Benutzername korrekt, Passwort FALSCH!!
'
);
        print (
'<a href=\'index.php\'>Noch ein Versuch...</a></body></html>');    
    }
}
else {
    print (
'<html><head><title>$title</title></head><body>');
    print (
'Benutzername NICHT KORREKT!!!
'
);
    print (
'<a href=\'index.php\'>Noch ein Versuch...</a></body></html>');    
    }
mysql_close($db)
or die(
"
Kann Verbindung nicht beenden, da die Verbindung nicht hergestellt wurde!"
);
?>
so und die interne:
PHP-Code:
<?php
session_start
();
include(
"config.php");
if (isset(
$_REQUEST['id'])) {
    if (
$_SESSION['login']!=1) {
            
header('Location: index.php');
    }
    else {
        print(
'<body background="img/back.jpg"><table width="91%">
  <tr>
    <td>INTERNE BEREICH!</td>
  </tr>
</table>
<table width="96%">
  <tr>
    <td width="21%"><table width="100%">
        <tr> 
<td>[url="intern2.php?id='
.session_id().'"]asdsad[/url]</td> 
          <td>[url="logout.php"]Logout[/url]</td>
        </tr>
        <tr>
          <td></td>
        </tr>
      </table></td>
    <td width="79%"><table width="104%">
        <tr>
          <td></td>
        </tr>
      </table></td>
  </tr>
</table>'
);
    }
}
else {
    
header("Location: index.php");
}
print(
"</body></html>");
?>
Was ist falsch...
schmiddy ist offline  
Alt 09.06.2005, 22:20  
Gast
 
Beiträge: n/a
Standard

Bitte tu das in PHP-Tags rein! (Die hier im Forum!)
Und was hast du geändert?
 
Alt 09.06.2005, 22:22  
Benutzer
 
Registriert seit: 01.06.2005
Beiträge: 70
schmiddy
schmiddy eine Nachricht über ICQ schicken
Standard

tags sind drinne, ich habe timestamp hinzugefügt...
schmiddy ist offline  
Alt 09.06.2005, 22:23  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

du sollst [php]-tags anstatt der [code]-tags benutzen, ich hab das jetzt mal gemacht.
robo47 ist offline  
Alt 09.06.2005, 22:26  
Gast
 
Beiträge: n/a
Standard

Da ist doch nichts von timestamp zu sehen?
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2 Sessions Kein Genie PHP Tipps 2006 8 21.07.2006 15:45
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
[Erledigt] probleme mit sessions PHP Tipps 2007 1 17.11.2005 10:43
Nach Einfügugng der Sessions funktioniert mein Program nicht PHP-Fortgeschrittene 1 02.10.2005 06:13
[Erledigt] Ausloggen, Abmelden, Raus!, LogOut, Logout, Mücke! ??? Off-Topic Diskussionen 6 14.07.2005 09:33
Sessions! DER_Brain PHP Tipps 2005-2 5 30.06.2005 14:51
2 Sessions? PHP Tipps 2005 5 29.04.2005 19:04
Sessions Anfänger PHP Tipps 2005 5 23.04.2005 17:54
fenster nicht ohne sessions gelöscht zu haben schlie. lassen PHP Tipps 2005 1 14.02.2005 21:16
Session - logout nixdorf PHP Tipps 2005 10 13.02.2005 19:13
Proble mit Sessions PHP Tipps 2005 7 07.02.2005 17:42
LogOut TRW PHP Tipps 2004-2 9 29.12.2004 21:02
Verständnisfrage zu Sessions PHP Tipps 2004 2 19.10.2004 09:56
[Erledigt] Usermanagement mit Sessions - Sicherheitsprobleme ? PHP Tipps 2004 0 30.06.2004 09:49
Sessions, sessions und nochmal sessions PHP-Fortgeschrittene 0 06.06.2004 00:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
session ausloggen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:20 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.