Logo Hardware.com.br
chacau
chacau Super Participante Registrado
823 Mensagens 13 Curtidas

Sistema de login e senha - Verificando usuários logados

#1 Por chacau 20/02/2014 - 22:49
Galera, boa noite!
Seguinte, gostaria muito da ajuda de vocês para que eu possa desenvolver um painel para eu eu possa ver o horário que os usuários acessam o sistema de login e senha e senha. Assim eu tenho um certo controle de quem está logando.Se fosse possível, também gostaria de pedir uma ajuda para eu conseguir o ip da máquina.
Alguém pode me ajudar com isso ?
Me indicar algo onde eu posso pesquisar sobre para desenvolver ....

Da uma ajuda ai galera

Abraço.
logicalkid
logicalkid Zerinho Registrado
16 Mensagens 4 Curtidas
#4 Por logicalkid
21/02/2014 - 13:54
chacau disse:


Agora me explica uma coisa, você pretende listar cada dia e horário que os usuários logaram no sistema ou apenas o último?

Caso seja a segunda opção o que lhe disse sobre timestamp é válido, agora se você quiser manter um "histórico de logins" se assim posso chamar, precisará de outra tabela linkada (chave estrangeira) com a de usuários e o timestamp não é necessário nesse caso, ex:


...
$sql = "SELECT * FROM usuarios INNER JOIN historico_login ON usuarios.id = historico_login.id_usuario";
...


E sempre quando um usuário logar no sistema, você faz um insert na tabela historico_login pegou?

Agora é contigo, espero ter ajudado.
marcos andrade22
marcos andra... General de Pijama Registrado
3.6K Mensagens 333 Curtidas
#5 Por marcos andra...
21/02/2014 - 15:09
Eu fiz uma classe com uma ajuda do flávio_vivinho que funciona bem, e grava tudo no banco de dados.
segue:
conect.php:
<?php

class Conexao extends PDO {

private static $instancia;

public function Conexao($dsn, $username = "", $password = "&quot {
// O construtro abaixo é o do PDO
parent::__construct($dsn, $username, $password);
}

public static function getInstance() {
// Se o a instancia não existe eu faço uma
if(!isset( self::$instancia )){
try {
self::$instancia = new PDO("mysql:host=localhost;dbname=agenda",
"root",
"senha",
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8&quot
);
} catch ( Exception $e ) {
echo 'Erro_ ao conectar';
exit ();
}
}
// Se já existe instancia na memória eu retorno ela
return self::$instancia;
}
}
?>
acessos.php

<?php
// classe de conexão com o banco
require_once('conect.php';

// classe de registro de acesso


class Acesso{
public function RegistraAcesso($id, $nome, $data, $ip){
if(empty($_SESSION['marca_acesso']) AND !empty($_SESSION['usuarioID'])){
$con_acesso = Conexao::getInstance();
$sql_acesso = $con_acesso->prepare("INSERT INTO acessos (id_acesso, nome_acesso, data_acesso, ip_acesso)
VALUES ('$id', '$nome', '$data', '$ip' &quot;
$sql_acesso->execute();
$_SESSION['marca_acesso'] = true;
}
else{
}

}

}
?>

e no index ou página que deseja o acesso registrado:

<?php
include_once ('classes/acessos.php';


$acesso = new Acesso();
$id = $_SESSION['usuarioID'];
$nome = $_SESSION['usuarioNome'] ;
$data = date("d/m/Y à\s H:i&quot;
$ip = $_SERVER["REMOTE_ADDR"];
$acesso->RegistraAcesso($id, $nome, $data, $ip);

?>

O conect.php é uma classe de conexão em PDO, caso não use no arquivo acessos.php ao invés de chamar a classe de conexão altere de acordo.

E no caso do usuário e Id são passados pela sessão que utilizo no meu sistema de login.
intruso
intruso Tô em todas Registrado
1.8K Mensagens 41 Curtidas
#7 Por intruso
25/02/2014 - 22:03
Você está querendo saber o horário que o usuário logou na aplicação que está na máquina ou o horário que o usuário logou no domínio (ou na maquina) ?

Desculpe, pelo código, você quer pegar a aplicação, mas, se estiver interessado no horário que as pessoas trabalham, seria melhor um service rodando em um script durante o login no dominio,

Uma outra coisa, não vi no código o local de onde você pega data e hora (do server ou do cliente durante o post) então, tente garantir que esse dado vem do server, para evitar que o usuário possa alterar a informação ou que uma máquina sem a "pilha" possa estragar a estratégia.

abs
Flavio_vivinho
Flavio_vivin... Geek Registrado
2.5K Mensagens 179 Curtidas
#8 Por Flavio_vivin...
26/02/2014 - 19:51
marcos andrade22 disse:



Com minha ajuda? heheh... só mostrei o "caminho das pedras" que utilizo, mas você quem desenvolveu o teu "caminho das pedras" kkkkkk.

O caminho é este mesmo, é algo simples e bem funcional.
"Vinde a Mim, todos os que estais cansados e oprimidos, e Eu vos aliviarei" - Mateus 11,28.
www.flaviosistemas.com.br
Desenvolvendo projetos, facilitando sua vida.
© 1999-2025 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal