Taffarel.dev - Login Audit Pro
___Registre automaticamente todas as tentativas de login com geolocalização GPS obrigatória. Filtros avançados, visualização em mapa e limpeza manual de registros. Segurança e auditoria profissional.
🔐 Login Audit Pro - Auditoria Profissional de Acessos
Controle total sobre quem acessa seu Perfex CRM, de onde e quando. Geolocalização obrigatória, filtros avançados e segurança máxima!
📋 Visão Geral
O Login Audit Pro é um módulo completo de auditoria de segurança que registra automaticamente todas as tentativas de login (bem-sucedidas e falhas) de colaboradores e clientes do seu Perfex CRM. Com geolocalização GPS obrigatória, você saberá exatamente quem tentou acessar seu sistema, de qual localização física, usando qual dispositivo e em que momento. Ideal para empresas que precisam de compliance de segurança, rastreamento de acessos e prevenção de invasões.
✨ Funcionalidades Principais
🎯 Captura Automática de Eventos de Login
- Login bem-sucedido de colaboradores (staff): Registra automaticamente quando um funcionário faz login com sucesso no painel administrativo
- Login bem-sucedido de clientes: Registra automaticamente quando um cliente acessa a área de clientes
- Tentativa com senha incorreta: Captura tentativas de login com senha errada (possíveis ataques de força bruta)
- Tentativa com usuário inexistente: Registra tentativas de login com emails que não existem no sistema
- Tentativa com usuário inativo: Captura tentativas de acesso de usuários desativados no sistema
🔔 Todos os eventos são capturados em tempo real, sem necessidade de configuração adicional!
🌍 Geolocalização GPS Obrigatória
- Captura automática de latitude e longitude: O sistema solicita permissão de geolocalização ao usuário no momento do login
- Bloqueio de login se negado: Se o usuário negar a permissão de localização, o login é bloqueado automaticamente
- Cache inteligente (24 horas): A localização é salva no localStorage por 24 horas para evitar solicitar repetidamente
- Compatível com HTTPS: Funciona perfeitamente em ambientes seguros (Chrome e Firefox exigem HTTPS para geolocalização)
- Mensagens de erro personalizadas: Alertas específicos para cada tipo de erro (permissão negada, GPS desligado, timeout, etc.)
- Visualização no Google Maps: Botão "Ver no Mapa" que abre a localização exata no Google Maps em uma nova aba
🚨 Segurança máxima: impossível fazer login sem fornecer a localização!
📊 Dados Registrados em Cada Tentativa
- ID único: Identificador único de cada registro de auditoria
- Tipo de usuário: Staff (colaborador) ou Client (cliente) - com label colorido visual
- Email utilizado: Email digitado no formulário de login (mesmo que não exista no sistema)
- Nome do funcionário: Nome completo do colaborador (quando aplicável), com link para o perfil
- Status da tentativa: Sucesso (verde) ou Falha (vermelho) - visualmente destacado
- Endereço IP: IP de origem da tentativa de login (IPv4 ou IPv6)
- Latitude e Longitude: Coordenadas GPS exatas da localização física do usuário
- Navegador e Sistema Operacional: Detecção automática do navegador (Chrome, Firefox, Safari, Edge, IE) e SO (Windows, macOS, Linux, Android, iOS)
- User Agent completo: String completa do user agent para análise detalhada
- Data e hora: Timestamp exato da tentativa de login, formatado automaticamente no padrão brasileiro
🔍 Filtros Avançados e Pesquisa
- Filtro por Tipo de Usuário: Visualize apenas tentativas de Staff ou Clientes
- Filtro por Status: Filtre por tentativas bem-sucedidas ou falhadas
- Filtro por Funcionário: Dropdown com lista de todos os funcionários que possuem registros de auditoria
- Busca por Email: Digite qualquer parte do email para buscar registros específicos
- Busca por Endereço IP: Encontre todas as tentativas originadas de um IP específico
- Filtro por Período: Selecione data inicial e data final para visualizar tentativas em um intervalo específico
- Aplicação automática: Filtros são aplicados automaticamente ao digitar ou selecionar, sem necessidade de clicar em "Aplicar"
- Botão Reset: Limpe todos os filtros de uma vez e volte à visualização completa
- Combinação de filtros: Use múltiplos filtros simultaneamente para buscas ultra-específicas
⚡ Filtros com recarregamento AJAX instantâneo - sem reload da página!
📋 Interface DataTable Profissional
- Tabela responsiva: Funciona perfeitamente em desktop, tablet e celular
- Ordenação por coluna: Clique em qualquer cabeçalho para ordenar (crescente/decrescente)
- Paginação inteligente: Navegue facilmente entre milhares de registros
- Busca global: Campo de busca que procura em todas as colunas simultaneamente
- Carregamento assíncrono: Dados carregados via AJAX para performance máxima
- Visual colorido: Labels coloridos para status, tipo de usuário e outros campos importantes
- Ícones intuitivos: Font Awesome icons para facilitar a identificação visual
- Formatação automática: Datas no formato brasileiro, emails em negrito, IDs em cinza, etc.
🗑️ Limpeza Manual de Registros Antigos
- Acesso restrito a administradores: Apenas admins com permissão "delete" podem limpar registros
- Seleção de período: Escolha data inicial e data final para deletar registros de um intervalo específico
- Modal de confirmação: Aviso vermelho destacado sobre a irreversibilidade da ação
- Campos obrigatórios: Sistema exige que as duas datas sejam preenchidas
- Feedback de resultado: Mensagem mostrando quantos registros foram deletados
- Log de atividade: A ação de limpeza é registrada nos logs do sistema
- Proteção contra exclusão acidental: Dupla confirmação necessária
⚠️ Use com cuidado: a exclusão é permanente e não pode ser desfeita!
🔐 Sistema de Permissões Granulares
- Permissão "View" (Visualizar): Controle quem pode acessar a página de auditoria de login
- Permissão "Delete" (Excluir): Controle quem pode limpar registros antigos (além de ser admin)
- Configuração por funcionário: Atribua permissões individualmente em Setup → Staff → Capabilities
- Integração nativa: Usa o sistema de capabilities do Perfex CRM
- Bloqueio automático: Se o usuário não tiver permissão, recebe mensagem "Access Denied"
- Menu condicional: O menu "Auditoria de Login" só aparece para quem tem permissão de visualização
# Demo
⚙️ Especificações Técnicas
1.0.0
Perfex CRM 2.3 ou superior
CodeIgniter 3
MySQL/MariaDB
Português BR (100%)
Taffarel Dev
🗄️ Estrutura do Banco de Dados
- Tabela principal:
tbllogin_audit - Índices otimizados: Para status, data, email, IP e staff_id (performance máxima)
- Foreign Key: Relacionamento com tblstaff usando ON DELETE SET NULL (preserva auditoria mesmo se staff for deletado)
- Campo ENUM para user_type: "staff" ou "client"
- Campo ENUM para status: "success" ou "failed"
- Coordenadas em DECIMAL: Latitude (10,8) e Longitude (11,8) para precisão GPS
🔌 Hooks Utilizados
failed_login_attempt- Captura senha incorretanon_existent_user_login_attempt- Captura usuário inexistenteinactive_user_login_attempt- Captura usuário inativoafter_staff_login- Captura login de staff bem-sucedidoafter_contact_login- Captura login de cliente bem-sucedidoafter_admin_login_form_start- Injeta JavaScript de geolocalização no adminclients_login_form_start- Injeta JavaScript de geolocalização na área de clientes
🛡️ Segurança e Validações
🔒 Proteção contra SQL Injection
Todo o código utiliza Query Builder do CodeIgniter e funções de escape ($this->db->escape_str(), $this->db->escape_like_str()). A função data_tables_init() do Perfex trata automaticamente os parâmetros.
🔒 Proteção CSRF
Todos os formulários usam form_open() do CodeIgniter, que adiciona automaticamente tokens CSRF. Requisições POST são validadas pelo framework.
🔒 Escape de Output
Todos os dados exibidos usam a função e() do Perfex para escape de HTML, prevenindo XSS. Emails, IPs, nomes e outros dados são sempre sanitizados antes da exibição.
🔒 Validação de Permissões
Todos os métodos do controller verificam permissões usando staff_can() e is_admin(). Acesso negado resulta em access_denied().
🔒 Integridade Referencial
Foreign Key com ON DELETE SET NULL garante que registros de auditoria sejam preservados mesmo se o funcionário for deletado, mantendo histórico completo.
🔒 Log de Atividades
Ações críticas (limpeza de registros, falhas de login) são registradas nos logs do Perfex usando log_activity() para rastreamento completo.
🎯 Benefícios para sua Empresa
- ✅ Identifique tentativas de invasão: Veja em tempo real quem está tentando acessar seu sistema com credenciais incorretas
- ✅ Rastreie acessos suspeitos: Detecte logins de localizações incomuns ou horários fora do padrão
- ✅ Compliance de segurança: Mantenha histórico completo de acessos para auditorias LGPD, ISO 27001 e outras normas
- ✅ Previna fraudes: Identifique rapidamente se credenciais foram comprometidas através de acessos de locais diferentes
- ✅ Monitore funcionários remotos: Saiba de onde sua equipe está acessando o sistema
- ✅ Evidências forenses: Tenha provas com data, hora, IP e localização GPS de todas as tentativas de acesso
- ✅ Otimize segurança: Identifique padrões de ataque (tentativas repetidas do mesmo IP, horários específicos, etc.)
- ✅ Tranquilidade: Durma tranquilo sabendo que todos os acessos ao seu CRM estão sendo monitorados
💼 Casos de Uso Reais
🏢 Empresas com Equipe Remota
Monitore de onde seus funcionários estão acessando o sistema. Identifique acessos de localizações não autorizadas.
🛡️ Departamentos de TI
Detecte tentativas de invasão, ataques de força bruta e acessos não autorizados em tempo real.
📊 Auditorias de Compliance
Mantenha histórico completo de acessos para apresentar em auditorias LGPD, ISO 27001, SOC 2 e outras.
🔍 Investigações Internas
Rastreie acessos de ex-funcionários, investigue vazamento de informações e identifique acessos indevidos.
🌍 Empresas Multinacionais
Identifique de qual país/cidade cada acesso foi realizado. Útil para empresas com filiais em vários locais.
💳 Proteção de Dados Sensíveis
Para CRMs que armazenam dados financeiros, médicos ou outros dados sensíveis que exigem rastreamento de acesso.
🚀 Instalação Simples
- 📥 Baixe o arquivo ZIP do módulo
- 📂 Extraia o conteúdo na pasta
/modules/do seu Perfex CRM - ⚙️ Acesse Setup → Modules no painel administrativo
- ✅ Clique em "Activate" no módulo Login Audit Pro
- 🎉 Pronto! O módulo já está capturando tentativas de login automaticamente
- 👥 Configure permissões em Setup → Staff → Capabilities (opcional)
- 🔍 Acesse Utilities → Auditoria de Login para visualizar os registros
⏱️ Tempo de instalação: menos de 2 minutos!
📋 Requisitos do Sistema
- ✅ Perfex CRM versão 2.3 ou superior
- ✅ PHP 7.4 ou superior (recomendado PHP 8.0+)
- ✅ MySQL 5.7+ ou MariaDB 10.2+
- ✅ Servidor web com HTTPS habilitado (obrigatório para geolocalização funcionar em Chrome/Firefox)
- ✅ JavaScript habilitado no navegador
- ✅ Permissões de escrita na pasta
/modules/
⚠️ Importante: Navegadores modernos (Chrome 50+, Firefox 55+, Safari 10+) exigem HTTPS para permitir acesso à geolocalização. Certifique-se de que seu Perfex CRM esteja rodando em HTTPS para o módulo funcionar corretamente.
💬 Suporte e Atualizações
- 📧 Suporte técnico via email para dúvidas e problemas
- 🔄 Atualizações gratuitas com melhorias e correções de bugs
- 📚 Documentação completa incluída (português BR)
- 🎥 Vídeo tutorial de instalação e uso disponível
- 💡 Sugestões de melhorias são sempre bem-vindas
🔐 Proteja seu Perfex CRM Agora!
Não espere sofrer uma invasão para começar a monitorar acessos. Instale o Login Audit Pro hoje e tenha controle total sobre a segurança do seu sistema!
⭐⭐⭐⭐⭐
"Segurança não é luxo, é necessidade!"
Este módulo está licenciado sob a Licença MIT.