Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Automatischer Login
#1
Hallo,

ich habe ein Problem. Ich möchte mein Forum so anpassen, dass wenn der User eine halbe Stunde nichts tut, er automatisch ausgeloggt wird. Dazu habe ich auch schon die class_session.php verändert.
Hier meine Veränderung:
Original
PHP-Code:
        // Attempt to load the session from the database.
        
$query $db->simple_select(TABLE_PREFIX."sessions""*""sid='".$this->sid."' AND ip='".$db->escape_string($this->ipaddress)."'"1);
        
$session $db->fetch_array($query);
        if(
$session['sid']) 

Meine Version:
PHP-Code:
        // Attempt to load the session from the database.
        
$query $db->simple_select(TABLE_PREFIX."sessions""*""sid='".$this->sid."' AND ip='".$db->escape_string($this->ipaddress)."'"1);
        
$session $db->fetch_array($query);
        if((
$session['sid']) and ($session['time'] < time() - 1800)) 

Leider tut sich dabei nichts. Weiss jemand, was ich falsch gemacht habe??

Meine MyBB-Version: 1.2.11
PHP-Version: 5.2.5
Zitieren
#2
Müsste es nicht so sein?
PHP-Code:
if(($session['sid']) and ($session['time'] > time() - 1800)) 

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#3
Stimmt, logischer Weise muss das so sein. Ich habe es gerade ausprobiert, allerdings scheint es trotzdem keine Wirkung zu haben. Aber vielen Dank auf jeden schonmal.
Zitieren
#4
Mal als Idee: Wäre es nicht sicherer einfach alle Sessions von angemeldeten Benutzen (uid != 0), die älter als 30 Minuten sind, aus der Tabelle sessions zu löschen? Dadurch ist garantiert keine Session mehr vorhanden.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#5
So, ich habe nochmal geforscht und ich habe herausgefunden, dass daran liegt, dass die Variabel $time nicht oben definiert worden ist. Soweit funktioniert das Skript jetzt. Allerdings bekommt das Forum woanders die sid und uid her. Weiss jemand woher?
Vielen Dank bis hierhin auf jeden Fall.
Zitieren
#6
Die Daten sind in Cookies gespeichert und werden vermutlich daraus bezogen. Wenn du entweder den Datenbankeinstrag oder die Cookies löschen lässt, sollte es keine Probleme geben.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#7
Ich habe es jetzt mal versucht einzubauen. Den folgenden Code habe ich einfach dortdrüber eingefügt:
PHP-Code:
        $timecut time()-60;
        
$db->delete_query(TABLE_PREFIX."sessions""time<='$timecut'"); 
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Automatischer Avatar Corleone 5 1.986 25.02.2013, 16:58
Letzter Beitrag: Corleone
  Automatischer Theme-Wechsel Zwoetzen 4 2.188 21.09.2007, 10:39
Letzter Beitrag: Zwoetzen