我如何使用PHP跟踪热连接器的IP地址

时间:2012-06-21 15:25:24

标签: php .htaccess

在我的服务器中有一张名为/images/pic.jpg的图片。我想跟踪试图通过url lik www.domain.com/images/pic.jpg直接访问该图片的用户的IP地址。我可以通过以下方式跟踪手动用户的IP地址:

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

2 个答案:

答案 0 :(得分:5)

您可以创建一个拦截PHP脚本,该脚本负责处理存储在特定文件夹中的所有图像请求。假设您的所有图像都位于images/文件夹中。您只需要创建一个重写规则,它将该文件夹中所有文件请求重定向到PHP脚本。

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

通过这种方式,您仍然可以像以前那样在标记内使用图像。

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

请注意,此方法可能会对系统性能产生严重影响,因为所有对图像资源的请求现在都会因为每次都调用PHP而产生处理开销。

答案 1 :(得分:4)

如果他们直接访问图像,你无法用PHP做任何事情来跟踪它们,然后解析你的access_logs并查看谁在请求文件。

您最好的选择是使用PHP来提供图像本身。这样,您就可以通过PHP跟踪谁在请求它。

示例:

<img src="image.php?imagename.jpg">