MyBB.de Forum
Automatischer Login - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Theme-Diskussionen (https://www.mybb.de/forum/forum-84.html)
+--- Thema: Automatischer Login (/thread-8384.html)



Automatischer Login - Organist - 19.01.2008

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


RE: Automatischer Login - Michael - 19.01.2008

Müsste es nicht so sein?
PHP-Code:
if(($session['sid']) and ($session['time'] > time() - 1800)) 



RE: Automatischer Login - Organist - 19.01.2008

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.


RE: Automatischer Login - Michael - 19.01.2008

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.


RE: Automatischer Login - Organist - 20.01.2008

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.


RE: Automatischer Login - Michael - 20.01.2008

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.


RE: Automatischer Login - Organist - 20.01.2008

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'");