web-dev-qa-db-ja.com

画像ファイルのヒット/視聴アクティビティを追跡する方法は?

何よりもまず、これが間違ったセクションにある場合はご容赦ください。私常にコンピュータの質問に関しては間違ったサイトを選んでいるようです。

最近の非常にバイラルなインターネットイベントの空気の中で、私の仲間と私は、現象がどのように機能するかを確認するための実験を実行するというアイデアを考案しました。ただし、バックエンドがどのように機能するかはわかりません。

サーバー上で単一の画像ファイル(.jpg/.png/.gif)をホストします。画像は単一のウェブページでホストされることを意図していません-この画像はクロスポスト、共有などされると想定されています。画像ファイル自体がサーバーでホストされているという事実は一定のままです(私たちは画像が保存/アーカイブされ、他の場所でホストされてから表示されるアカウントの状況)。

画像が取得したヒットのログを、表示PCのIPとともに表示できるようにしたいと考えています(画像の地理的な広がりを把握するため)。

まず、これは可能ですか? 「あなたのIPはSafariを使用して、何とか何とか何とか...」と言う画像をたくさん見ました。また、画像が自宅以外のサイトでホストされているときに「知っている」という例もたくさん見ました(防止するため)ホットリンク)。

第二に、これはどのように達成されますか?分析プログラムは、単純な画像ファイルでそのような特定のヒットを追跡できますか?

2
Brandon

Webサーバーを構成し、その上にイメージを配置して、ログを記録する対象にログを構成するだけです。 Apacheのデフォルトのログ設定で十分だと思います。

そのログインを任意の分析プログラムにフィードできます。

5
Sven

あなたはいくつかの質問をしたので、私は答えを分けます

  1. ログ監視
  2. ダイナミック画像

ログ監視

access.log(Apacheを想定)を見るだけで、ソースIPの概要と目的のファイルへのヒットを確認できます。しかし、これは有用で具体的な情報を提供するものではありません。確かに、これを達成するためにどの分析パッケージを使用できるかを尋ねているからです。

複雑さ(およびおそらく必要以上の機能)ではありますが、必要なことを実行するために利用できる無料のアプリケーションがいくつかあります。これらは、アクセスログを解析することにより、サーバーレベルで機能します。 2つの良い例は次のとおりです。

  1. Webalizer
  2. Awstats

動的画像

ソースIP、ヒット数、日付/時刻など、動的に生成された情報を画像に含める場合、リストは無限です。ある種のプログラミング言語を使用する必要があります。

Webサーバーに使用しているプラ​​ットフォームに応じて、さまざまなオプションを使用できます。たとえば、PHPでは、 Image Gd library を使用できます。

次に、動的な画像を提供するだけでなく、MySQLを介してヒットを追跡し、好きな出力を生成することができます。

他の人の意見に反して、これは実際には動的に生成された画像を追跡して生成するための最も簡単な方法です。サーバー障害flairバッジはこの良い例です。

次に、これからのデータをPECL GeoIP拡張機能と組み合わせて、必要に応じて地理マップをプロットできます。