Repository navigation
Releases
Meu IP Info v2.2.0 — Privacy & Security Hardening
Meu IP Info v2.2.0 — Privacy & Security Hardening
Versão do plugin WordPress: 2.2.0
Tipo: release estável de código no GitHub
Commit validado: 498f3fef6969b21557e8974b1b61215c1ee0edf2
Visão geral
Atualização voltada à segurança e à privacidade do plugin Meu IP Info, com reestruturação da integração com ipinfo.io, melhoria da interface do shortcode e validação automatizada de PHP e JavaScript.
Segurança e proteção de dados
- Correção de exposição de credenciais: o token ipinfo.io deixa de ser inserido no HTML/JavaScript público. A consulta passa a ocorrer no servidor WordPress, com token no cabeçalho HTTP de autorização.
- Consulta restrita ao próprio visitante: o endpoint REST usa
REMOTE_ADDRcomo fonte do IP e não permite selecionar arbitrariamente outro endereço por query. - Restrições de rede: rejeita IPs privados e reservados, usa HTTPS/TLS, desabilita redirecionamentos e limita tempo e tamanho da resposta da API.
- Retorno minimizado: saneamento e lista permitida de campos (IP, provedor, país, estado, cidade e coordenadas validadas), sem encaminhar a resposta completa do fornecedor.
- Cache limitado: WordPress transients por até 10 minutos; o plugin não mantém um histórico próprio de consultas. Conforme a instalação, transients podem residir no banco ou em cache externo.
Experiência do visitante
- A página não inicia a consulta de IP automaticamente; o visitante precisa clicar Consultar meu IP.
- O mapa OpenStreetMap é carregado somente após uma segunda escolha explícita.
- O design é responsivo e acessível, com feedback de sucesso/erro e botão para copiar IP.
- Vários shortcodes podem coexistir na mesma página sem colisões de IDs.
- Removidas dependências de Leaflet, FontAwesome e Google Fonts carregadas de CDNs no frontend.
Painel administrativo
- A opção de configuração existente
meu_ip_info_tokené preservada para atualização de instalações anteriores. - O campo do token não revela o valor salvo e permite substituição ou exclusão explícita.
Qualidade e validação
10/10 jobs de CI aprovados, incluindo:
| Ambiente | Versões | Resultado |
|---|---|---|
| Ubuntu / PHP | 7.4, 8.1, 8.3, 8.4 | PASS — 4/4 |
| Ubuntu / Node.js | 22, 24 | PASS — 2/2 |
| Windows / Node.js | 22, 24 | PASS — 2/2 |
| macOS / Node.js | 22, 24 | PASS — 2/2 |
Testes de contrato com APIs WordPress simuladas cobrem token, REST, respostas da API e cache. Testes JavaScript cobrem coordenadas, múltiplos shortcodes e carregamento sob demanda.
Ver execução de CI do commit da versão.
Instalação
- Obtenha o código desta tag e copie a pasta com
meu-ip-info.php,meu-ip-info.jsemeu-ip-info.cssparawp-content/plugins/meu-ip-info/. - Ative o plugin em Plugins no painel do WordPress.
- Em Configurações → Meu IP Info, configure o token ipinfo.io, se ainda não estiver configurado.
- Inclua o shortcode
[meu_ip_info]na página ou no post desejado. - Valide o funcionamento em uma instalação WordPress real e revise o aviso de privacidade do site.
Requer PHP 7.4+, WordPress com REST API habilitada e conectividade do servidor com ipinfo.io.
Limitações importantes
- O endpoint REST continua público: exigir clique na interface é transparência de UX, não comprovação criptográfica de consentimento. Configure uma solução de consentimento server-side se a política aplicável exigir.
- Como os dados de geolocalização são derivados do IP, são aproximados, não equivalentes a GPS.
- O uso do serviço pode consumir cota. Adote WAF, limitação de requisições e monitoramento no ambiente de produção.
- Proxies reversos devem definir corretamente
REMOTE_ADDRusando somente proxies confiáveis; o plugin não confia emX-Forwarded-Forfornecido pelo visitante. - A pipeline valida código e contratos com stubs WordPress. Ainda não representa teste E2E em uma instalação WordPress real.
- Esta release é publicada no GitHub Releases, não no diretório oficial de plugins WordPress.
Licença: MIT. Consulte README.md, SECURITY.md e CHANGELOG.md.
Primeira versão
Versão inicial do plugin WordPress Meu IP Info, com shortcode, painel de token, mapa, design moderno e botão copiar IP.