diff --git a/include/class.ostsession.php b/include/class.ostsession.php index 609bfda0005587f59012603ce03d972cb89de971..2c399904195c972b4d3f89739c4639d23edc00e0 100644 --- a/include/class.ostsession.php +++ b/include/class.ostsession.php @@ -183,10 +183,12 @@ extends SessionBackend { function read($id) { try { $this->data = SessionData::objects() - ->filter(['session_id' => $id]) - ->annotate(['age' => SqlFunction::NOW()->minus(new SqlField('session_expire'))]) - ->one(); - if ($this->data->age > 0) { + ->filter(['session_id' => $id]) + ->annotate(array('is_expired' => + new SqlExpr(new Q(array('session_expire__lt' => SqlFunction::NOW()))))) + ->one(); + + if ($this->data->is_expired > 0) { // session_expire is in the past. Pretend it is expired and // reset the data. This will assist with CSRF issues $this->data->session_data='';