Ir para conteúdo

POWERED BY:

Arquivado

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

tony_lu

Não permitir login simultaneo

Recommended Posts

Olá pessoal...td bem?

Eu elaborei um sistema de login...porém preciso restringir que mais de uma pessoa se logue ao mesmo tempo no sistema com o mesmo username e senha... as vezes acontece de um site possuir um conteudo restrito e você possui um login e senha e passa para um amigo tbem acessar.... enfim eu preciso que apenas um usuario possa se logar por vez... mas ainda não consegui elaborar uma lógica para fazer esse sistema...alguém pode me ajudar???

 

Obrigado http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer um usuário por vez ou impedir que seja usado o mesmo login e senha por pessoas diferentes ao mesmo tempo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tony_lu, você disse:

as vezes acontece de um site possuir um conteudo restrito e você possui um login e senha e passa para um amigo tbem acessar

Então, mas o que impede de quem estar no site ser o seu amigo e não você? Por exemplo, no seu caso aí, nada impede de ser o meu amigo com a minha senha no seu site, e quando eu for tentar logar, ele dá erro e não me deixa entrar. Mas tudo bem, concordo que é problema meu, porque fui eu que dei a minha senha, mas se a sua idéia é barrar esse tipo de coisa, acho que não tem como porque eu e meu amigo podemos usar a senha em horários alternados, nada vai impedir. Mas mesmo assim, vamos ver o que dá para fazer. Porque você não cria uma tabela, pelo menos para manter os dados temporariamente, que quando o cara for logar no sistema, antes de você dar o acesso, você verifica se o LOGIN e Senha, ou o ID dele esteja nessa tabela, se estiver, você avisa ele que "Esse usuário já está logado no sistema", se não, você registra ele na tabela e dá o acesso. Você só vai ter de pensar como vai excluir ele da tabela temporária, poderia ser quando ele clica-se em "Logout", mas eu não saberia te dizer como fazer se ele apenas fechar o site sem fazer o logout, tipo, tá em uma página e clica no [X] do navegador. Dessa forma os dados dele continuariam na tabela. Pensando agora, acho que se desse para você fazer um esquema de tempo, tipo, se passar 20 minutos ele apaga da tabela. Tipo, além do ID do cara na tabela temporária, teria a hora do acesso, daí ele apaga, caso passe 30 minutos. Só que a cada nova página que ele fosse abrindo, você renovaria essa hora de acesso, assim você evitaria a coisa chata de o usuário ficar 20 minutos navegando e você barrar ele. Bom, eu não sei se eu ajudei, mas é isso o que eu posso te dizer por hora. Apenas, gostaria que levasse em consideração que eu estou começando agora a trabalhar com programação web e não manjo muito não cara, mas mesmo assim, espero ter te ajudado. Falow.

Compartilhar este post


Link para o post
Compartilhar em outros sites

embora esta logica nao faça mt sentido no que diz respeito a restringir que certo usuario use seu login, é o seguinte.Quando a pessoa logar você pega o login por exemplo e armazena na session do servidor. Cria um cookie de servidor, como se fosse um log.Na hora do cara logar voce verifica se aquele login ja nao esta na lista. Se estiver na lista você nao loga o cara, senao ele loga.sacou?Caso seja um sistema tipo banco, com ssl e outras coisas assim basta você fazer com que cada usuario registre seu computador para usar o sistema. Desta forma ele so pode acessar daquele micro. Nao podera acessar de outros lugares. nao é dificil isso, é só dar uma pesquisada e existem formas meio inseguras de se fazer para hackers mas para usuarios comum é bem eficaz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Galera...td legal??Vou explicar o porque eu preciso fazer isso... no site será possivel baixar videos...e isso gasta transferencia de banda... então o que acontece hj... um usuario assinante entra e passa o login e senha para varios amigos...entao imagina...ao inves de um usuario naquele momento estar baixando um video...ter 4 ou 5 caras de uma vez baixando...então esse recurso seria para limitar este acesso a varios usuarios com o mesmo login...Eu tinha pensado exatamente nessa possibilidade de gravar o login e senha...ou então o ip do usuario... em uma tabela e efetuaria uma consulta para ver se o usuario esta logado... e no caso no visitante sair do site em clicar em logout preciso que em 10 minutos o sistema limpe esse registro.... agora eu preciso saber como fazer isso...alguem tem alguma ideia..??Agradeço a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

dae cara

 

seguinte oq eu pensei aqui foi como alguem ja falou acima

 

cria uma tabela de logs e nela você grava o login do usuário

ai na hora de fazer login você verifica se aquele nome ja esta la ou nao, ai na hora que o cara fizer logou deleta o registro do login dele desta tabela, o problema é se o cara fechar o browser direto, o nome vai ficar gravado, você precisaria determinar um certo tempo entao e montar uma CRON

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu fiz um sistema com essa restrição, apenas coloquei um campo a mais na tabela de usuarios com o nome "logado" e valor 0 caso off e 1 caso on, aeh o resto eh moleza......

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá galera...legal a ajuda de vcs.... esta quase saindo...só tenho até agora uma duvida... de como fazer se o usuario fechar a janela sem dar o logout... como eu vou apagar da tabela automaticamente..? Como definir um tempo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que fazer um script que verifique a data da última interação do usuário, se for superior a 30 minutos, provavelmente o usuário já saiu sem usar o logoffoutro método é fazer o mesmo mas usando CRONTAB ( linux )no windows é equivalente ao agendador de tarefas

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.