web-dev-qa-db-ja.com

IPによる追跡のダウンロード

IPアドレスによってWebサイトからのダウンロードを追跡することは可能ですか?

理想的には、タイムスタンプ、オカレンス、およびだれ(IPアドレス、および/または原産国)が含まれている可能性があるログファイルを表示したいと思います。

誰かが私を正しい方向に向けるのを手伝うことができるなら...

4
Zach

ログファイルを見たい

サーバーアクセスログには情報が含まれているため、抽出する必要があります。

アクセスログ(テキストファイル)には、サーバーに対して行われたすべての要求の記録が含まれています。アクセスログには、タイムスタンプ、要求されたファイルのURL、ファイルを要求したIPアドレス、およびステータスコードが含まれます。

特定のIPアドレスが特定のファイルを要求したすべての時間を合計するには、ログファイルをスキャンする必要があります。アクセスログを処理するためのツールは数多くありますが、必要な特定のクエリである場合は独自のツールを作成できます。

追加するだけで、これを積極的に行っている場合は、おそらくダウンロードスクリプトでこれを行います。ファイル、IPアドレスを記録し、ダウンロードが実行されたときにカウンターを増やします。

3
MrWhite

よりシンプルで具体的なものを探している場合。 AJAXを使用して、追跡するダウンロードのみを含む独自のログファイルシステム(またはデータベース)を構築することを検討できます。

これの主な理由は:です。これは、Webサーバーのアクセスログに、Webサーバーに対するeeeeeeveryリクエストが含まれているためです。つまり、ユーザーがサイトのページの1つのみを開いた場合、ログファイルに30〜70行の(非常に近似した)平均を追加できます。ページで使用される小さなものごとに1つ(HTML/CSS/JSファイルから、ペイントを使用して多くの愛を込めて作った小さな美しい16x16pxアイコンまで)

特定のファイルのみを追跡する(音楽ダウンロードサイトがあり、それらの音楽ファイルのみを追跡する場合など)が必要な場合は、DONするダウンロードリンクに「onclick」イベントリスナーを追加できます。 'Tファイルをポイントする代わりに、ダウンロードに関する情報(IPアドレス、タイムスタンプ、リファラー、ブラウザー情報など)を保存できるサーバー側スクリプトを実行するAJAX関数を起動します。 。):

オプション1:単純な時系列表現が必要な場合はログファイルに

オプション2:ダウンロードカウンターをより簡単に追跡し、サーバー上のデータを複製しないように最適化された構造で追跡する場合。

「情報を保存する部分」の後、ユーザーがブラウザにダウンロードするファイルのURLを送り返すと、ブラウザはこのURLをロードし、ユーザーはファイルをダウンロードできるようになります。

この方法を使用すると、ユーザーがファイルをダウンロードする前にダウンロードが記録されていることを確認できます。ユーザーがクリックしたときにAJAXリクエストを同時に送信するよりも優れています。


これの唯一の欠点は:「トップレイヤー」ソリューションであるという事実です。ユーザーがファイルのURLを知っていて、アドレスバーに直接書き込むと、ダウンロードカウンターをバイパスします。これは、Webサーバー(Apacheなど)に直接基づいたログファイルシステムでは発生しません。

0
WiMantis