Ir para conteúdo

POWERED BY:

Arquivado

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

Jow Xavier

[Resolvido] derrubar sessôes

Recommended Posts

Como posso fazer que um usuário possa derrubar qualquer sessão de um usuário logado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

session("nomedasessao") = "";

 

e faz o tratamento na pagina de acesso

 

if(session("nomedasessao") =""){

'joga o kra para area de login

 

}

 

 

espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

 

Sessões com o mesmo nome em navegadores distintos não tem como derrubar apenas zerando a sessão através de um outro computador, ela só será finalizada no seu computador e não no computador do usuário ao qual deseja derrubar.

 

Eu creio que você quer saber como um usuário ADM possa fazer pra derrubar a sessão de algum outro usuário qualquer?

 

Talvez tenha que usar algum método no Global.ASA, ou seja, onde cada usuário tenha uma sessão única com seu código ou username, e você a derruba no Globa.asa.

 

Não posso te ajudar mais do que isso, mas talvez alguém aqui tenha a resposta!

 

Abraços - Fábio

Compartilhar este post


Link para o post
Compartilhar em outros sites

um usuario so terá acesso as suas sessoes teoricamente

 

mas pode fazer com que o "logado" esteja registrado no DB entao um usuario poderia alterar este valor no db e voce cria umalogica de sempre estar verificando se o mesmo ainda nao foi derrubado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando o usuário se loga eu armazeno em uma tabela enquanto ele estiver logado ... Abaixo estou deletando ele da tabela, eu gostaria q ao deletar o usuário que estava na tabela ele tivesse a sua sessão derrubada.

 

um usuario so terá acesso as suas sessoes teoricamente

 

mas pode fazer com que o "logado" esteja registrado no DB entao um usuario poderia alterar este valor no db e voce cria umalogica de sempre estar verificando se o mesmo ainda nao foi derrubado

Essa lógica q eu ñ estou compreendendo, de como sempre verificar se a tabela ñ tem registro desse usuário.

 

Este é o código q eu estou utilizando, para apagar o usuario no bd.

 

cod_sessao = session("codigo_usuario")
Set rs=cnn.execute("DELETE FROM login where codigo_usuario = '"&cod_sessao&"'")
cnn.close : Set cnn = Nothing

Compartilhar este post


Link para o post
Compartilhar em outros sites

todo usuario deve ter uma session("logado") da vida certo?

 

criar um trecho de codigo, podes ate colocar em um include se quiser, e chame este trecho em algumas paginas chave, ou em todas se quiser garantir que ele nao acesse nada depois de derrubar

 

neste trecho voce terá simplesmente uma consulta

 

SELECT Logado ou Nome do campo onde armazena esta informacao FROM Nome_Tabela WHERE Usuario = Nome do usuario que deve estar numa session

IF Logado = False THEN
Session.Abandon
END IF

se tiver true nao faz nada pois o usuario continua a navegar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mário eu fiz dessa forma :

 

Set rs=cnn.execute("SELECT codigo_usuario FROM login WHERE codigo_usuario = '"&session("codigo_usuario")&"' ")
IF rs("codigo_usuario") = False THEN
Session.Abandon
END IF

Só derruba a sessão for na minha máquina, ou seja só se eu estiver logado e tentar derrubar o meu login, preciso derrubar o login de qualquer usuário logado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não seria:

IF rs.Eof THEN

 

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente eu fiz no meu código em outra página por isso q estava derrubando a minha sessão ... Será q ñ tem como eu derrubar a sessão do usuário passando o ID ... Tipo

 

Assim eu derrubo as sessões abertas como o Nome "Nome_Session"

 

Session.Contents.Remove("Nome_Session")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é possível dessa forma.

 

Somente como o Mário citou, você precisará de um auxilio de um banco de dados e deverá está sempre verificando para saber se o usuário foi derrubado ou não.

 

E outra, para fazer esse teste, o ideal é usar navegadores diferentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim voce precisa do banco

 

e la a sua pagina verificará se o usuario ainda pode acessar senao derruba a sessao mas no caso voce da sua maqui nao pode derrubar a sessao de outro so ele mesmo pode fazer isso

 

voce pode controlar isso mas nao derrubar diretamente

 

use o db e assim conseguirá

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu não consigo derrubar outro usuário usando session correto ? Usando o bd eu consigo excluir o usuário da tabela qd o usuário atualiza a página dele ele é derrubado do sistema caso ele tenha sido excluido da tabela ... Mas como eu faço para que seja derrubado se ele atualizar a tela ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi.

 

No inicio de cada tela do site você faz um select no banco de dados.

 

Exemplo: Crie um campo na tabela chamado: logado

Quando o usuário tiver logado, grave o valor "sim" no campo.

Quando este usuário for derrubado, grave o valor "nao" no campo.

 

Depois faça:

No inicio de cada tela você coloca, um IF.

If campo_logado = "nao" then
response.redirect "pagina_de_desvio.asp"
end id
Entendeu?

Agora eu te pergunto, e se quem for derrubado se logar denovo? Ele vai conseguir acessar novamente as telas, pois sempre que ele se logar vai ficar com o valor "sim".

 

A única coisa que você pode fazer para bloquear por um bom tempo é determinar uma data ou horário de bloqueio, onde você determina até que horário ou data ele ficará bloqueado.

 

Abraço!

Fábio!

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce o derrubará com session sim

 

mas antes precisa dar a ordem para derrubar e a ordem segue a logica que estou passando aqui

 

VOCE irá alterar no DB um campo que criará onde informa se o usuario será derrubado

O USUARIO irá navegar normalmente ate uma funcao que verifica se o usuario precisa ser derrubado dará o aviso pois este ja se encontra no DB

Entao a FUNCAO dará um session.abandon

 

E a partir dai todas as sessoes do usuario sumirão

 

Resolvido seu problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

o eskma é fazer um bd com uma flag e assim k o user fizer login, você altera a flag e se ficar inativa muda para outro estado, depois você pode até usar:

 

Log Off:

 

<%
'Desloga o usuario
Response.Buffer = true
Session.Contents.Remove("IdUsuario")
Session.Contents.Remove("Nivel")
Session.Contents.Remove("NomeUsuario")
Session.Contents.Remove("LoginCB")
Session.Contents.Remove("Acesso")
Session.Contents.Remove("UltAcesso")
Session.Contents.Remove("DtEntrada")
Session.Contents.Remove("IP_Usuario")
Session.Abandon
Response.Clear()
Response.Redirect "Login_AD.asp"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera obrigado mesmo consegui resolver ... Fiz assim

 

 

<meta http-equiv="Refresh" content="2;URL=index.asp">

<%
conecta()

SQL = ("SELECT CODIGO_USUARIO FROM LOGIN WHERE CODIGO_USUARIO = '"&SESSION("CODIGO_USUARIO")&"' ")
Set rsLog = cnn.execute(SQL)
if rsLog.eof then
	session.abandon()
	response.write "<script>location=/logout.asp;</script>"
	'response.Redirect"/logout.asp"
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

que bom que resolveu

 

parabens pela solucao

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.