Sessão Django e Firefox

187 views
Skip to first unread message

Adauto Serpa

unread,
Feb 26, 2011, 6:27:44 PM2/26/11
to Django Brasil
Boa noite,

Pessoal estou aprendendo Django e estou com dificuldades em configurar
a sessão, pelo menos em parte.
O que quero é destruir a sessão quando o browser fechar, já configurei
o SESSION_EXPIRE_AT_BROWSER_CLOSE = True,
porém quando eu clico no firefox para salvar e sair e reabro o browser
ele volta com a página de onde parei e não para a tela de login.
Agora se fecho todas as abas do firefox e encerro o browser ele
retorna para a tela de login do django admin.

Alguém tem alguma dica ?

desde já agradeço,

Adauto Serpa

Manuel Gonçalves da Silva Neto

unread,
Feb 27, 2011, 9:22:48 AM2/27/11
to django-brasil
Amigo ,parece um comentario bobo mais  BROWSER é diferente de ABA , a session é compartilhada no  browser por varias abas   no  navegador e só vai expirar quando vc  fechar o navegador não a aba do firefox. Isto nao tem nada a ver com django em si;  Experimente  abrir  o browser e tentar entar com dois usuarios diferentes no orkut no mesmo browser , um em cada aba para  ver o  resultado.


Atenciosamente:
                 Manuel  Gonçalves

      



 
> Date: Sat, 26 Feb 2011 15:27:44 -0800
> Subject: Sessão Django e Firefox
> From: adaut...@gmail.com
> To: django...@googlegroups.com
> --
> Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
> Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>

Matheus Lima

unread,
Feb 27, 2011, 9:27:54 AM2/27/11
to django...@googlegroups.com
Cara, você não entendeu a pergunta dele... o que ele quis dizer é que se mandar salvar as abas antes de fechar o firefox (fechar totalmente), quando abrir o firefox novamente a sessão não expirou.

Isso acontece comigo também em vários sites. É como se o firefox guardasse a sessão e por algum motivo o servidor não mata ela.

Também não sei como não permitir isso. =/
--
Att,

Matheus dos Santos Lima           
Graduando em Sistemas de Informação - 8° Período
Universidade Federal de Sergipe
CSM.

Felipe Zorzo

unread,
Feb 27, 2011, 9:37:00 AM2/27/11
to django...@googlegroups.com
--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>

Não tem como impedir isso usando SESSION_EXPIRE_AT_BROWSER_CLOSE.

O Firefox salva também os cookies de sessão quando você usa essa opção para salvar a sessão atual, assim, é como se o navegador nunca tivesse sido fechado. Is not a bug, it's a feature.[1] E, sim, também acho esse comportamento bastante questionável.

Mas existem algumas alternativas (não testei). [2]

Adauto Serpa

unread,
Feb 27, 2011, 11:23:37 AM2/27/11
to Django Brasil
Matheus,

Realmente acho isso muito questionável mesmo, é um nível de segurança
a mais
na aplicação, até porque o usuário é falho podendo causas muitos
problemas!

Agora não vejo isso acontecer com muitas aplicações e se isso ocorre é
mais
culpa do firefox do que do Django, porém não sei se entendi muito bem
a forma
que o django trabalha, ele grava em uma tabela as sessões e só exclui
se o
usuário encerrar a sessão pelo link, em minha opinião não acho isso
viável
não seria melhor alocar em memória não seria mais seguro.

Infelizmente estou acho o Django inseguro no momento e todos sabem que
insegurança na web é muito importante. Estou pensando em até deixar o
Django/Python em segundo plano :( estava gostando !

Agora um desabo rsrsrs... Quando comecei a estudar Python/Django
estava
procurando um linguagem que se relacionasse em diversas áreas ex: web,
desktop(GTK) e Mobile de forma simples e rápida algo que eu não
precisassem
ficar tomando remédio de tarja preta rsrs... pior que já tomei um dia
rsrs...
Algo para desenvolver de aplicativos pequenos até coisas maiores.
Hoje ainda tenho dois frameworks que me chamaram atenção o famoso Ruby
on Rails
e Yii Framework(PHP), porém espero encontrar a solução com o Django,
pois não é atoa
que grandes empresas desenvolvem também em Python !

Valeu pela ajuda Matheus, Felipe e a Comunidade Django. Caso alguém
encontre
a solução por favor não deixe de compartilhar.

um abraço,

Adauto Serpa

On Feb 27, 11:27 am, Matheus Lima <matheus...@gmail.com> wrote:
> Cara, você não entendeu a pergunta dele... o que ele quis dizer é que se
> mandar salvar as abas antes de fechar o firefox (fechar totalmente), quando
> abrir o firefox novamente a sessão não expirou.
>
> Isso acontece comigo também em vários sites. É como se o firefox guardasse a
> sessão e por algum motivo o servidor não mata ela.
>
> Também não sei como não permitir isso. =/
>
> Em 27 de fevereiro de 2011 11:22, Manuel Gonçalves da Silva Neto <
> manuel...@hotmail.com> escreveu:
>
>
>
>
>
>
>
>
>
> >  Amigo ,parece um comentario bobo mais  BROWSER é diferente de ABA , a
> > session é compartilhada no  browser por varias abas   no  navegador e só vai
> > expirar quando vc  fechar o navegador não a aba do firefox. Isto nao tem
> > nada a ver com django em si;  Experimente  abrir  o browser e tentar entar
> > com dois usuarios diferentes no orkut no mesmo browser , um em cada aba
> > para  ver o  resultado.
>
> > Atenciosamente:
> >                  Manuel  Gonçalves
>
> > > Date: Sat, 26 Feb 2011 15:27:44 -0800
> > > Subject: Sessão Django e Firefox
> > > From: adautose...@gmail.com
> *
> *
> *Matheus dos Santos Lima        ** <http://twitter.com/matheeusLimaaa>
> <http://www.orkut.com.br/Main#Profile?rl=mp&uid=6921349383894587556>
>   <http://www.facebook.com/profile.php?id=100001639854566>
> <http://code.google.com/u/matheus.se/>
> *

Vinicius Mendes

unread,
Feb 27, 2011, 6:24:15 PM2/27/11
to django...@googlegroups.com
Não sei qual o motivo da sua insegurança. O django salva os dados da sessão em banco, o PHP grava no sistema de arquivos. Ambos possibilitam que um usuário mal intencionado acesse os dados gravados na sessão. As sessões no django são criptografadas usando o algorítmo base 64, o que não significa que eles não poderão ser lidos, uma vez que esse é um algorítmo reversível. Se usar a app django.contrib.user, as senhas dos usuários são salvas utilizando algorítmos de hash irreversíveis acrescido de um salt para evitar tabelas de mapeamento entre hash e valor de origem.

Eu diria que o django é bem seguro.

Atenciosamente,
Vinicius Mendes
Engenheiro de Computação
Globo.com



2011/2/27 Adauto Serpa <adaut...@gmail.com>

Matheus Lima

unread,
Feb 27, 2011, 7:01:57 PM2/27/11
to django...@googlegroups.com
O Django é uma ferramenta segura, se usada da forma correta.

Esse problema da sessão não é do Django, é uma funcionalidade do FireFox. Isso acontece com várias outras ferramentas.

Eu não teria medo de usar Django em nenhum sistema por desconfiar da segurança.

Não precisa ter medo. Django é legal e é seu amigo! =)
Matheus dos Santos Lima           

THLopes

unread,
Feb 27, 2011, 9:37:34 PM2/27/11
to Django Brasil
Não cheguei a testar, mas porque você não tenta usar o evento onUnload
do Javascript para chamar uma URL de logout?
Com jQuery fica ainda mais fácil:

http://api.jquery.com/unload/



On Feb 27, 9:01 pm, Matheus Lima <matheus...@gmail.com> wrote:
> O Django é uma ferramenta segura, se usada da forma correta.
>
> Esse problema da sessão não é do Django, é uma funcionalidade do FireFox.
> Isso acontece com várias outras ferramentas.
>
> Eu não teria medo de usar Django em nenhum sistema por desconfiar da
> segurança.
>
> Não precisa ter medo. Django é legal e é seu amigo! =)
>
> Em 27 de fevereiro de 2011 20:24, Vinicius Mendes <vbmen...@gmail.com>escreveu:
>
>
>
>
>
>
>
>
>
> > Não sei qual o motivo da sua insegurança. O django salva os dados da sessão
> > em banco, o PHP grava no sistema de arquivos. Ambos possibilitam que um
> > usuário mal intencionado acesse os dados gravados na sessão. As sessões no
> > django são criptografadas usando o algorítmo base 64, o que não significa
> > que eles não poderão ser lidos, uma vez que esse é um algorítmo reversível.
> > Se usar a app django.contrib.user, as senhas dos usuários são salvas
> > utilizando algorítmos de hash irreversíveis acrescido de um salt para evitar
> > tabelas de mapeamento entre hash e valor de origem.
>
> > Eu diria que o django é bem seguro.
>
> > Atenciosamente,
> > Vinicius Mendes
> > Engenheiro de Computação
> > Globo.com
>
> > 2011/2/27 Adauto Serpa <adautose...@gmail.com>

Adauto Serpa

unread,
Feb 28, 2011, 6:54:01 AM2/28/11
to django...@googlegroups.com
Vinícius,

Valeu mesmo pela explicação melhorada de como funciona o Django, como disse no email anterior
não sei muito bem como funciona o Django e estou voltando a gostar rsrsrs...
Então Vinicius, pelo que estou vendo o Django é seguro.

O que me falta realmente é conhecimento e começar a ter confiança no Django, talvez a minha insegurança
deve-se ao fato de ter programado somente em Delphi e PHP(Sem uso de Frameworks). 
Acho que o ser humano tem medo de coisas novas e estou tentando quebrar esse paradigma em mim!
Claro também que se vou mudar quero me assegurar que será para algo bom.

Agora para eu ganhar um pouco mais de confiança com o Django, uma pergunta para os mais experientes,
ele serve para aplicações robustas com várias requisisões ? 

um abraço,

--
Adauto Serpa
Tecnólogo em Informática


Adauto Serpa

unread,
Feb 28, 2011, 6:58:42 AM2/28/11
to django...@googlegroups.com
THLopes,

Cheguei a pensar nisso, acho que é a solução mais correta a se utilizar.

Adauto Serpa

Alexandre Santos

unread,
Feb 28, 2011, 7:17:27 AM2/28/11
to django...@googlegroups.com
Adauto, eu também vim do php, e posso te afirmar que a performance
dele é bem melhor que a do php, começa pelo fato do Python ser "semi
interpretado", alem da robustez da arquitetura em si temos também
cache e etc....

Eu to tendo gargalo em vários apps meus com php, mas no django ate
agora nao vi nenhum...

On Monday, February 28, 2011, Adauto Serpa <adaut...@gmail.com> wrote:
> Vinícius,

> Valeu mesmo pela explicação melhorada de como funciona o Django, como disse no email anteriornão sei muito bem como funciona o Django e estou voltando a gostar rsrsrs...


>
> Então Vinicius, pelo que estou vendo o Django é seguro.
> O que me falta realmente é conhecimento e começar a ter confiança no Django, talvez a minha insegurança

> deve-se ao fato de ter programado somente em Delphi e PHP(Sem uso de Frameworks). Acho que o ser humano tem medo de coisas novas e estou tentando quebrar esse paradigma em mim!Claro também que se vou mudar quero me assegurar que será para algo bom.
>
> Agora para eu ganhar um pouco mais de confiança com o Django, uma pergunta para os mais experientes,ele serve para aplicações robustas com várias requisisões ?


> um abraço,
>
> --
> Adauto Serpa
> Tecnólogo em Informática
>
>
>
>
>

> --
> Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
> Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>

--
---------------------------------------
Alexandre Santos
55 (21) 8335-2992

www.diariodecodigos.info

Felipe Zorzo

unread,
Feb 28, 2011, 8:03:53 AM2/28/11
to django...@googlegroups.com
Em 28 de fevereiro de 2011 08:54, Adauto Serpa <adaut...@gmail.com> escreveu:
Agora para eu ganhar um pouco mais de confiança com o Django, uma pergunta para os mais experientes,
ele serve para aplicações robustas com várias requisisões ? 

um abraço,

--
Adauto Serpa
Tecnólogo em Informática

Na maior parte das vezes, não é o framework que vai definir se a sua aplicação é robusta ou não, e sim o conjunto de aplicação bem estruturada + banco + webserver + técnicas de otimização. 

De qualquer forma, veja o Disqus (sistema de comentários) e suas 17 mil req/s e tire suas próprias conclusões: http://www.slideshare.net/zeeg/djangocon-2010-scaling-disqus 

--
Felipe Bernardo Zorzo

Wesley Willians

unread,
Feb 28, 2011, 8:07:42 AM2/28/11
to django...@googlegroups.com, Felipe Zorzo
Concordo totalmente,

Da mesma forma que você pode fazer uma app em django com diversos gargalos, você pode fazer uma em php.
Depende muito da estrutura do projeto, como cache foi implementado, se realmente usou cache, se usou um bom framework.

Tanto Python como PHP são ótimas linguagens e cases não faltam para comprovar isso.

--
@wesleywillians
www.schoolofnet.com


2011/2/28 Felipe Zorzo <felipe....@gmail.com>

Marcos Henrique Nassif de Alencar

unread,
Mar 26, 2011, 9:47:23 AM3/26/11
to django...@googlegroups.com, Wesley Willians, Felipe Zorzo
Pessoal, não sei se é bem isso, mas tava pesquisando e vi que se pode configurar o tempo da sessão[1] (se usar sessão baseada em arquivo) e não vai ter este problema de fechar e abrir o browser e continuar conectado

set_expiry(value)

Sets the expiration time for the session. You can pass a number of different values:


1-http://docs.djangoproject.com/en/dev/topics/http/sessions/#using-file-based-sessions


Marcos Nassif

Lauro Cesar de Oliveira

unread,
Mar 26, 2011, 9:16:14 PM3/26/11
to django...@googlegroups.com
Em 26 de fevereiro de 2011 20:27, Adauto Serpa <adaut...@gmail.com> escreveu:
> Boa noite,

> Alguém tem alguma dica ?

Dá uma olhada no SESSION_COOKIE_AGE..

http://docs.djangoproject.com/en/dev/topics/http/sessions/#session-cookie-age


>
> desde já agradeço,
>
> Adauto Serpa
>

> --
> Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
> Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>

--

Lauro Cesar de Oliveira
Hack to learn not learn to hack.

Reply all
Reply to author
Forward
0 new messages