Ticket #1007 (closed defeito: fixed)

Opened 14 years ago

Last modified 14 years ago

Método list_sessions() sobrecarrega sessão de usuário.

Reported by: niltonneto Owned by: niltonneto
Priority: grave Milestone: Expresso 2.0.5
Component: API Version: branch 2.0
Severity: Keywords:
Cc: WorkGroup:

Description

Quando um usuário admin clica em "Administrador-> Exibir sessões", o método list_sessions() salva em sua sessão, informações (usuario, ip, url, etc..) de todas as sessões ativas do Expresso. Aqui na Celepar, por exemplo, se um administrador entra nesse link, e no momento houver 5.000 sessões ativas, seu arquivo de sessão (/php_sessions/sess_...) poderá chegar a 2Mbytes.
Além disso, esse mesmo método sempre é executado ao expirar a sessão de qualquer usuário (Vide configurações do Servidor -> Tempo para expiração da sessões em segundos). Como resultado, exemplificando novamente, aqui na Celepar chegou a ter em /php_sessions mais 100 arquivos de sessão com 2.1Mb (210Mb), já que tais sessões, quando expiradas por tempo, aguardam o "cron" do servidor para que seus arquivos sejam deletados do /php_sessions.

Change History

comment:1 Changed 14 years ago by niltonneto

É importante dizer que todos os arquivos de sessão que contém essas informações são arquivos velhos (sessões expiradas), exceto se for de um admin, e que tenha clicado no link Administrador -> Exibir sessões.

comment:2 Changed 14 years ago by niltonneto

Será removido "cache" dessas informações da sessão do usuário. No método destroy(), código que deleta arquivo de sessão do usuário será refeito sem invocar list_sessions().

comment:3 Changed 14 years ago by niltonneto

Corrigido em [2357]. Replicado no Branches 2.0 [2358] e 2.1 [2359]

comment:4 Changed 14 years ago by niltonneto

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.