Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Giullyanny

logins semultâneos em php

Recommended Posts

Boa noite amigos;

 

Estou fazendo um login e preciso de certa forma garantir que não existirão dois logins simultâneos.

 

Aqui quero passar minha lógica e quero algumas criticas...

 

Minha ideia inicial é: criar uma função em JS que de tempo em tempo execute um AJAX que verifique se um arquivo TXT existe e se não... crie, o arquivo php irá inserir o um datetime do login inicial, e no TXT irá inserir o usuario datetime(também). De tempo em tempo ele irá verificar se tem mais de 5min de diferença do que foi inserido no banco, se tiver ele passar a pegar o ultimo momento dele no TXT e se tiver mais de 5min, então ele ira inserir no bd um logout. e depois disse eu destruo a sessão, mas assim devereria pegar o SID para destruir ela.

 

Eu gostaria de saber uma melhor forma de fazer isso, nem que seja apenas uma lógica melhor que a minha.

Agradeço aos colegas de plantão pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

alguém tem alguma ideia diferente da minha... Gostaria de ter algumas diferentes, não achei nada interessante, talvez não tenha procurado corretamente, mas gostaria de um dica...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu faço assim tb, mas não crio esse arquivo TXT..

 

Eu crio um campo no login do usuário para salvar o TIME atual, faço a cada 10 segundos ele atualizar a minha tabela com o TIME atual... e na hora de logar eu verifico se esse campo está com mais de 10 segundos de diferença do momento do login, se for ele loga senão ele não loga

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, mas minha maior dúvida é como eu poderia garantir se este usuario, perder o uso por conta de problemas com internet ou energia

 

dependendo do tempo ele não poderia logar mais...

 

estou fazendo o esquema de usuario no txt, pois se outro usuário entrar irá ter uma função js que lê o arquivo e diz se tem mais de 5min sem interação e se tiver ele coloca a saida do usuário no banco

 

ai ele seria forçado a loggar novamente, se ele não inserir o login vai verificar que tem uma entrada e não tem uma saida ai si o login não seria permitido por conta de ja ter um usuário ali com aquela autenticação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas, ainda assim, eh melhor guardar no banco como wolf falou.... pq vc imagina que ocorreu com 20 usuários ao mesmo tempo,... e todos acessando o mesmo arquivo txt... a performace do serv vai lá pra baixo... Inclusive com quem não teve esse problemas..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc pode fazer tb o seguinte, criar um campo no banco que vc seta que ele está logado, dai quando ele criar no botão para sair ele retira que está logado.. Dai caso o usuário feche o navegador ele execute uma função JS pra deslogar tb...

 

 

jQuery ao fechar o navegador

$(window).unload(function(){
    alert("Goodbye!");
});

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.