EM ANDAMENTO
Resumo técnico
Plugin NEXUS que consulta a reputação de e-mails, IPs e URLs na IPQualityScore com score de fraude unificado 0–100, flags (disposable, proxy, VPN, Tor, phishing…) e cache local de 24h — com bloqueio de login e cadastro por limiar de risco e e-mail descartável, enriquecimento automático no Intelligence Hub e auditoria completa de verificações e consumo da API.
Escopo executado
plugin.json: v1.0.0, slugipqualityscore, categoria "Intelligence" (aba OSINT & Enrichment, íconeshield-check,is_core: false).- Config (
DB::getConfig('plugin.ipqualityscore')):api_key,block_disposable_emails(false),min_fraud_score(75, clamp 0–100),verify_on_register(true); a chave é normalizada no save (remove espaços/controles do clipboard). - Bloqueio operacional — hooks
before_loginebefore_register(prioridade 20): resolvem o e-mail quando o login é por username, verificam e-mail + IP (ipqs_check_user) e negam autenticação com mensagem em PT se e-mail descartável (quando ativado) ou score ≥ limiar. - Score unificado de usuário —
round(email_score * 0.6 + ip_score * 0.4), ou apenas o e-mail quando não há IP; flags de e-mail e IP separadas no resultado. - Lookups (
email|ip|url) — validação comFILTER_VALIDATE_*(URL sem esquema ganhahttps://); cache 24h emipqs_cache(ON DUPLICATE KEY UPDATE); cURL (20s/8s, SSL verify, UANEXUS-IPQS/1.0) emhttps://ipqualityscore.com/api/json/{type}/{key}/{value}com params erequired_anypor endpoint. - URL maliciosa —
unsafe,phishingoumalwareforça score ≥ 85, independentemente dorisk_scoreretornado. - Auditoria dupla —
ipqs_verifications(score,risk_level, flags JSON,blocked, origem, usuário, IP, resultado completo) eipqs_api_requests(success,cached,billable,http_code,error_message,request_id). risk_level—critical≥ 90,high≥ 75,medium≥ 50,low; bloqueio ocorre a partir do limiar configurado.ipqs_api_online— valida a Private Key em/api/json/account/{key}sem gastar crédito; conta sem créditos ainda conta como online (insufficient credits).- Intelligence Hub — enricher
ipqs_intel_enrichparaemail/ip/url(prioridade 49): sinaisFraud score X/100 · risco,severity = score, statusok/error/needs_key/skippede orçamento de lookups (max_live_lookups); filtros legadostask_read/comment_readdesativados. - Migrations — 4 arquivos: tabelas base, auditoria de requests, backfill de requisições falhas e marcação de chamadas billable.
- API: 7 actions (
ipqs_checkcomtypeemail/ip/url/user,ipqs_stats,ipqs_history,ipqs_request_history,ipqs_get_configcom key mascarada••••+últimos 4,ipqs_save_configcom validação e retornoapi_online,ipqs_clear_cache). - UI Alpine.js (
tab.php, 587 linhas) — tema azul (blue-600), aba OSINT & Enrichment; header com badge API Online/Offline (pulso verde/vermelho/âmbar + atalho Configurar); 4 stats cards com barras de progresso; toolbar com 3 sub-abas (Verificar, Histórico, Configurações); aba Verificar com tipos e-mail/IP/URL/usuário (+ IP opcional), resultado com score /100 colorido por risco (rose ≥ 75, âmbar ≥ 50, verde < 50), badge Cache 24h e flags em pills; Histórico com tabela de verificações e auditoria de consumo da API (status cached/success/error); Configurações com API key mascarada, toggles e limiar de score. - Fastr:
/ipqs-email,/ipqs-ip,/ipqs-url. - Cron vazio (
jobs: [], on-demand) e modal próprio (modals.php). - Sem i18n (textos em português) e sem
lang.json.
Stack e ferramentas
- PHP 8 (sem framework)
- MySQL 8 (
ipqs_cache,ipqs_verifications,ipqs_api_requests) - Alpine.js + Tailwind CSS (premium light, azul)
- cURL (lookups 20s, health-check 8s, SSL verify)
- IPQualityScore API (
/api/json/email|ip|url/{key}/{value},/api/json/account/{key}) - Plugin NEXUS (PluginManager: tabs, filters, API actions, Fastr, modals, migrations)
Tags operacionais
- IPQualityScore
- Anti-Fraude
- Fraud Score
- Email Verification
- IP Reputation
- URL Scanner
- OSINT
- Plugin NEXUS
Resultado operacional
- Proteção proativa do cadastro: login e registro negam acesso com base em score de fraude e e-mails descartáveis — com mensagem clara para o usuário.
- Cobertura de 3 alvos + usuário: e-mail, IP e URL verificados individualmente ou em score unificado por usuário.
- Economia de créditos: cache local de 24h e health-check sem gastar lookup; flags de URL maliciosa forçam score alto.
- Rastreabilidade total: verificação e consumo da API auditados (billable, falhas, request_id) — KPIs e histórico no painel.
- Inteligência integrada: sinais do IPQualityScore no Intelligence Hub de tarefas e comentários com severidade = score.
- Privacidade de chave: Private Key nunca exposta no frontend (apenas máscara
••••). - Comandos
/ipqs-email,/ipqs-ipe/ipqs-urlno chat.
Andamento no GitHub (issues)
Painel em tempo real com as issues mais recentes do repositório.
live feed
abrir issues no githubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Resultados reais
Verificador de reputação e detecção de fraudes em endereços IP via IPQualityScore. Identifica conexões originadas de proxies, VPNs maliciosas, redes Tor e botnets, calculando índices de fraude para mitigar abusos e ataques automatizados.
Arquitetura e organização
- PHP 8
- MySQL 8
- Alpine.js
- Tailwind CSS
- cURL
- IPQualityScore API
- Plugin NEXUS
Execução e operação
O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.
Screenshots
Falar sobre este projeto
Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.