4

サーバーに /images/pic.jpg という名前の写真があります。URL lik www.domain.com/images/pic.jpg から直接その写真にアクセスしようとするユーザーの IP アドレスを追跡したいと考えています。次の方法で手動ユーザーのIPアドレスを追跡できます。

<?php $ipAddress = $_SERVER['REMOTE_ADDR']; ?>
4

2 に答える 2

5

特定のフォルダーに保存されている画像に対するすべての要求を処理するインターセプト PHP スクリプトを作成できます。images/すべての画像がフォルダー内にあるとしましょう。そのフォルダー内のファイルに対するすべての要求を PHP スクリプトにリダイレクトする書き換えルールを作成するだけです。

RewriteRule images/(.+)\.(jpg|gif|png) images.php?image=$1.$2

このようにして、以前と同じようにマークアップ内で画像を使用する機能を引き続き保持できます。

<img src="images/logo.png" />

PHP が毎回呼び出されるため、画像リソースに対するすべてのリクエストで処理オーバーヘッドが発生するため、このアプローチはシステム パフォーマンスに大きな影響を与える可能性があることを考慮してください。

于 2012-06-21T15:39:07.463 に答える
4

彼らが画像に直接アクセスしている場合、PHPを使用してそれらを追跡することはできません。それ以外の場合は、access_logsを解析して、誰がファイルを要求しているかを確認します。

最善のオプションは、PHPを使用して画像自体を提供することです。そうすれば、PHPを介して誰がそれを要求しているかを追跡できます。

例:

<img src="image.php?imagename.jpg">
于 2012-06-21T15:28:03.290 に答える