balduino Postado Janeiro 21, 2010 Denunciar Share Postado Janeiro 21, 2010 estou desenvolvendo um sistema de gestão documental onde é necessario se fazer o logino que quero saber écomo fazer para impedir que um utilizador faça login diversas vezes em computadores diferentes Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Anarquista Postado Janeiro 21, 2010 Denunciar Share Postado Janeiro 21, 2010 uma saída rápida é colocar um status de ativo no seu banco quando o cara se logar... se estiver ativo "A" e ele tentar acessar por outro computador aparecerá uma mensagem.... mais ou menos assim:quando o cara se logar... mudará o status do banco de "I" (inativo) para "A" (ativo)...quando o cara tentar se logar de outra máquina, você cria uma condicional:// código de validação do loginif($status == "A"){echo "sua mensagem";}else{// aqui você redireciona para o endereço desejado!}abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Janeiro 21, 2010 Denunciar Share Postado Janeiro 21, 2010 CREATE TABLE usuarios ( usuario VARCHAR(50) NOT NULL, senha VARCHAR(100) NOT NULL, logado CHAR(1) ) login.php <?php // verifica se usuario está logado $sqlVerifica = "SELECT logado FROM usuarios WHERE usuario ='".$_SESSION['usuario']."' AND logado = 'n' "; $queryVerifica = mysql_query($sqlVerifica); $registros = mysql_rows_num($queryVerifica); // seta que o usuário está logado if($registros == 1){ $sqlAtualiza = "UPDATE usuarios SET logado='s' WHERE usuario = '".$_SESSION['usuario']."'" $query = mysql_query($sqlAtualiza); } ?> sair.php // seta usuário para não logado $sqlAtualiza = "UPDATE usuarios SET logado='n' WHERE usuario = '".$_SESSION['usuario']."'" $query = mysql_query($sqlAtualiza); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Anarquista Postado Janeiro 21, 2010 Denunciar Share Postado Janeiro 21, 2010 é isso aí... o UPDATE é importante para mudar o status.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 balduino Postado Janeiro 21, 2010 Autor Denunciar Share Postado Janeiro 21, 2010 muito obrigado pessoal Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 balduino Postado Janeiro 25, 2010 Autor Denunciar Share Postado Janeiro 25, 2010 eu estive analisando a opção de criar essa variavel no banco de dados, mas então surgiu uma questão importante. e se o utilizador fechar a janela sem antes fazer logout? não terei como alterar a variavel no banco de dados.então pensei em obter o endereço ip do computador em que fez o login e se tentar logar noutro computador os endereços serão comparados e então saberei que ele já esta logado noutro pc.queria vossa opinião quanto a isso.a função para obter o ip que usei é a seguintefunction getRealIpAddr() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet $ip=$_SERVER['HTTP_CLIENT_IP']; elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy $ip=$_SERVER['HTTP_X_FORWARDED_FOR']; else $ip=$_SERVER['REMOTE_ADDR']; return $ip; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Renato Penna Postado Janeiro 25, 2010 Denunciar Share Postado Janeiro 25, 2010 Use apenas...$ip=getenv("REMOTE_ADDR"); Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
balduino
estou desenvolvendo um sistema de gestão documental onde é necessario se fazer o login
o que quero saber é
como fazer para impedir que um utilizador faça login diversas vezes em computadores diferentes
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.