Apacheログから訪問者のIPを取得する必要があります。

Apacheログから訪問者のIPを取得する必要があります。

私のウェブサイトの訪問者のIPを保存したいとPHPを使用したいと思います。クローンを使うべきですか?または、訪問者のIPはどのように自動的に保存されますか?

ベストアンサー1

デフォルトでは、Apacheは各訪問者のIPを記録します。以下を組み合わせて、awkこのファイルから一意の訪問者リストを取得できますsort

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

/var/log/httpd/access_log/var/log/apache2/access.logRed HatタイプシステムとUbuntuタイプのApacheログパスはどこにありますか?

もちろん一意にする必要はありませんので、sort望まない場合は削除してください。

編集する:

@facundo-victorが指摘したように、本当にユニークな訪問者が必要な場合は、awk次のように私たちが見ているものを追跡して最初に印刷するだけで、すべての作業を実行して追加のプロセスを節約できます。

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

ASCII 順序ではなく、ログ・ファイルに最初に表示される順序でソートされます。

また、これはログの最初のフィールドが多くの最新バージョンのApacheではデフォルトのIPアドレスであると仮定しますが、必ずしもそうではありません。

おすすめ記事