Precisa pegar o IP dos visitantes dos logs do Apache

1

Eu quero armazenar o IP dos visitantes no meu site e quero usar o PHP. Devo usar o cron para isso ou como o IP dos visitantes será armazenado automaticamente?

    
por stacy 28.11.2015 / 15:51

1 resposta

2

O Apache já registra o IP de cada visitante por padrão. Você pode obter a lista de visitantes únicos desse arquivo já combinando awk e sort como:

awk '{print $1}' <log_path> | sort -u

onde é o caminho para o log do apache que é /var/log/httpd/access_log nos sistemas de tipo Red Hat e /var/log/apache2/access.log nos tipos do Ubuntu.

É claro que você não precisa obtê-los exclusivos, então você pode descartar o sort se não quiser isso.

Editar:

Como @ facundo-victor apontou se você deseja visitantes únicos, podemos fazer tudo com awk e salvar o processo extra, mantendo o controle do que vimos e imprimindo-os apenas da primeira vez assim:

awk '{if (!unique[$1]++) {print $1}}' <log_path>

embora eles estejam na ordem em que aparecem pela primeira vez no arquivo de log, não classificados como ascii.

Além disso, isso pressupõe que o primeiro campo no log seja o endereço IP, que é o padrão para muitas versões mais recentes do Apache, mas não precisa ser verdadeiro.

    
por 28.11.2015 / 16:06