Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

newboxters

Manipular tempo de sessions utilizando cookies

Recommended Posts

Olá pessoal. Li em diversos lugares (e testei inclusive) que as sessions tem duração de "apenas" 24 horas:

 

Session.TimeOut = 1440 'tempo em minutos

 

Então, li alguma coisa (no site da microsoft, se não me engano) que é possível manipular o tempo de qualquer session utilizando cookies, podendo assim, manter uma session por anos até (a menos que o cookie seja excluído), para os famosos check's "Permanecer logado / lembrar usuário / logar diretamente da próxima vez ..."

 

O problema é que não encontrei nenhum exemplo sobre isso. Alguém poderia postar algum código de exemplo, bem simples, 2 linhas já tá ok, só pra eu ver como funciona, pois tentei criar uns cookies e ele gravava tanto a session como o cookie, mas quando dava o Session.TimeOut ele quebrava o session e saia do login e eu queria que o valor que eu defini no cookie fosse válido para a session.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está confundindo sessões de servidor e sessão de cliente(cookies)

 

o cookie sim, este dá para definir a data de expiração. Por padrão, ao fechar o navegador o cookie é expirado.

 

abaixo um exemplo de como definir a data de expiração de um cookie em 1 semana:

 

response.cookies("nomedocookie").Expires = dateAdd("d",7,now())

Compartilhar este post


Link para o post
Compartilhar em outros sites

basicamente voce precisa criar o cookie e sempre que testar a session e ela tiver acabado busque o valor no cookie caso exista ele redefine a session e assim ela durará

Compartilhar este post


Link para o post
Compartilhar em outros sites

basicamente voce precisa criar o cookie e sempre que testar a session e ela tiver acabado busque o valor no cookie caso exista ele redefine a session e assim ela durará

Olá Mário, é exatamente isso que eu pretendo. Você teria um exemplo?

 

Ah e jonathandj, não estou confundindo sessions com cookies, eu li mesmo que é possível manipular a duração das sessions usando cookies, como o Mário explicou, que na verdade o cookie grava o valor da session.

 

Só uma dúvida, dessa maneira não ficaria inseguro? Ou o cookie grava apenas um valor simbólico para recuperar a session?

Pois em meu sistema de login, o que fica gravado na session é:

session("id_login_access_user") - para pegar o login do usuário, que só é criada essa session após passar na verificação do form de login que verifica os dados de usuário e senha de acordo com o banco de dados. E se o cookie gravar exatamente o mesmo valor da session, fica inseguro, pois o usuário pode editar esse cookie e se logar na conta de outro usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, buscando pela Internet, eu encontrei essa solução de login que tem a opção de permanecer logado:

http://www.codigofonte.com.br/codigo/asp/s...erenciar-logins

 

Gostaria de saber se esse é um método seguro? Pois pelo que percebi ele não usou sessions, e assim fica completamente inseguro o sistema, visto que só criar um cookie e/ou editá-lo que terei acesso ao sistema ou outras contas de usuário.

 

Eu tentei também analisar o código fonte de alguns sistemas, até mesmo em outras linguagens como o próprio wordpress (php) que tem a opção no login de permanecer logado, mas com meus conhecimentos limitados não consegui entender ainda como é feito isso.

 

Se alguém puder me ajudar ou indicar algum tutorial ou script em asp que tenha a opção de permanecer logado que seja possível eu entender como funciona, agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só o domínio que criou o cookie que consegue editá-lo... dessa forma, alguém só conseguirá "hackear" o site, se inserir algum código malicioso dentro dele mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sério hargon? Nossa, vejo todo mundo falar que cookies são inseguros, podem ser facilmente editados, há inclusive um plugin no firefox chamado "Cookie Editor" exatamente para essa função, mas então quer dizer que mesmo assim não haverá problemas em usar o cookie? Ou seja, se alguém tentar editar, o cookie não vai funcionar?

 

Então é certeza que posso usar tranqüilamente essa solução que eu encontrei para ter a função permanecer logado?

http://www.codigofonte.com.br/codigo/asp/s...erenciar-logins

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se isso que você disse é verdade, para mim é novidade. Sobre tudo que já li a respeito, funciona da forma que falei. Mas nada é impossível, se já descobriram vulnerabilidade no sistema de controle de DNS...

 

Na dúvida, já que você quer mais segurança, armazene somente dados criptografados no cookie. Assim já dificulta, caso aconteça o que você citou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá hargon. Desculpe a demora pela resposta...

Talvez eu tenha pensado errado mesmo, e acho que não é possível EDITAR o cookie, e pensando bem, mesmo que a pessoa editasse o cookie ou criasse um cookie para um domínio, ele teria que saber o usuário e senha de qualquer maneira, afinal o cookie será um instrumento utilizado para buscar no banco de dados por esses valores, e se não for dado correto, não irá permanecer logado.

 

Assim é possível realmente manter por quanto tempo precisar.

 

Só por curiosidade, é esse mesmo esquema que o login do Wordpress (e outros sistemas de qualidade) utiliza?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não conheço o código do Wordpress, mas se o objetivo é deixar o usuário logado sempre que entrar no site pelo mesmo navegador, a forma é cookie. Até o momento é a única maneira de se gravar algo no computador do cliente e ter acesso futuramente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.