=== Fix WP Access Logger ===
Contributors: edinaldohvieira
Tags: access-log, ip-logger, security-audit, visitor-tracker, csv-export
Requires at least: 4.5
Tested up to: 7.1.4
Requires PHP: 5.6
Stable tag: 0.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Registra o IP do visitante e a URL acessada em um arquivo CSV oculto

== Description ==

Este plugin foi projetado para resolver três problemas principais relacionados à **transparência, auditoria e segurança** de um site WordPress:

### 1. Falta de Visibilidade sobre o Comportamento dos Visitantes
O WordPress, por padrão, não mantém um registro de quais páginas estão sendo acessadas e por quem (IP). Sem ferramentas externas (como Google Analytics), você fica "no escuro" sobre o que acontece em tempo real. Este plugin fornece um **log bruto e direto**, permitindo que você veja exatamente quais URLs estão sendo requisitadas.

### 2. Identificação de Acessos Suspeitos ou Bots
Ao registrar o endereço IP de cada acesso, o plugin ajuda a identificar padrões anômalos. Por exemplo:
*   Um único IP acessando centenas de páginas em poucos segundos (comportamento de **Scraper** ou **Bot**).
*   Acessos repetidos a URLs sensíveis ou inexistentes (tentativas de **Exploits** ou **Vulnerability Scanning**).
Como o log é um CSV, você pode filtrá-lo facilmente para ver quais IPs são os mais ativos.

### 3. Auditoria de Dados sem Dependência de Terceiros
Muitas ferramentas de análise (como o Analytics) dependem de JavaScript e podem ser bloqueadas por navegadores ou extensões de privacidade. Além disso, os dados ficam em servidores de terceiros. 
*   Este plugin resolve isso ao fazer o log **no lado do servidor (Server-side)**. Se a página carregou, o acesso foi registrado, independentemente das configurações do navegador do visitante.
*   Você mantém o **controle total e a propriedade dos dados**, que ficam armazenados no seu próprio servidor de forma privada.

### Resumo do Benefício
Em suma, o plugin resolve a necessidade de ter um **"caixa preta" simples e leve** para o seu site, permitindo auditorias de segurança e tráfego sem a complexidade ou os problemas de privacidade de ferramentas maiores.


== Installation ==

1. Vá até a pasta `wp-content/plugins/` da sua instalação WordPress.
2. Crie uma pasta chamada `wp-access-logger`.
3. Coloque o arquivo `wp-access-logger.php` dentro dela.
4. Ative o plugin no painel administrativo do WordPress.

== Frequently Asked Questions ==

= A question that someone might have =

An answer to that question.

= What about foo bar? =

Answer to foo bar dilemma.



= O que este plugin faz?

O Fix WP Access Logger registra cada acesso no front-end (página ou post) no seu site WordPress. Ele captura o **endereço IP do visitante** e a **URL exata** acessada, e salva esses dados em um arquivo CSV oculto.

= Como o plugin funciona tecnicamente?

Ele usa o hook `template_redirect` (que é acionado sempre que uma página está prestes a ser renderizada) para executar uma função `log_access`. Esta função registra o IP (tratando cabeçalhos de proxy) e a URL completa, e adiciona a linha ao arquivo CSV no formato `Data, IP, URL`.

= Onde os dados são armazenados?

Os logs são armazenados dentro do diretório de **uploads** do WordPress em uma pasta chamada `wp-access-logs`.
* **Local padrão:** `/wp-content/uploads/wp-access-logs/`
* O nome do arquivo contém um hash aleatório único (gerado a partir do salt do seu site) para evitar que qualquer pessoa adivinhe o nome do arquivo.

= Os logs ficam acessíveis ao público?

Não. Para impedir acessos públicos:
* Um arquivo `index.php` vazio protege a pasta contra listagem de diretório.
* Um arquivo `.htaccess` com a linha `Deny from all` bloqueia qualquer acesso HTTP direto.
* Somente usuários com permissão de escrita no servidor (por exemplo, via FTP/SSH) podem visualizar os arquivos.

= Como posso visualizar os logs?

Existem algumas maneiras de visualizar o conteúdo do CSV:
* **Por editor de texto:** Abra o arquivo CSV com um editor (VS Code, Sublime, etc.).
* **Via console:** Use `cat` no terminal (se você tiver acesso via SSH).
* **Por script:** Um script PHP ou Python separado pode ler o CSV e gerar relatórios.

= O plugin funciona com firewalls ou proxies reversos (Cloudflare, Nginx, etc.)?

Sim. O plugin já tenta tratar cabeçalhos `HTTP_X_FORWARDED_FOR`, `HTTP_FORWARDED_FOR` e `HTTP_CLIENT_IP`, que são comumente adicionados por proxies reversos. No entanto, se você usa um proxy reverso que **sobrescreve** o `REMOTE_ADDR`, pode ser necessário adicionar uma configuração adicional para capturar o IP original.

= O plugin funciona com plugins/woocommerce, wordpress-seo, elementor, etc.?

Absolutamente! Como ele usa o hook `template_redirect`, ele será acionado independentemente de qualquer framework ou plugin que você use. Ele funciona com qualquer página que um visitante acesse (posts, páginas, produtos WooCommerce, páginas personalizadas geradas por Elementor, etc.).

= Como posso contribuir ou obter suporte?

Esta é uma implementação inicial. Sinta-se à vontade para:
* **Compartilhar sugestões** para aprimoramentos (por exemplo, agendamento de limpezas, armazenamento em banco de dados, notificação por e-mail).
* **Reportar bugs** caso encontre alguma anomalia.
* **Enviar pull requests** com melhorias de código.

= Os administradores do site têm os acessos registrados?

Não. O plugin **explicitamente ignora** usuários com permissão `manage_options` (os administradores). Para evitar poluir o log com acessos administrativos, eles são filtrados no `log_access()`.

= Como faço para atualizar para uma nova versão?

Sempre recomenda-se **desativar e ativar novamente** após uma atualização, pois a função `activate()` recria a pasta de logs (e quaisquer novos arquivos `.htaccess`/ `index.php`) e garante que um cabeçalho CSV seja criado caso o arquivo seja corrompido.

== Screenshots ==

1. Exemplo do arquivo CSV gerado contendo o histórico de acessos (Data, IP e URL) em uma pasta oculta e protegida.

== Changelog ==

= 1.0 =
