我怎么知道哪个网站加载了我的图片?

时间:2012-05-17 12:56:04

标签: php

我创建了一些免费的HTML模板,免费分享,但我想知道我的模板安装位置。

为了跟踪模板安装,我的想法是创建一个生成单个像素图像的php脚本。我想使用该图像来收集有关加载我的图片的网站的信息。

那么,我怎么知道哪个服务器正在请求我的图像?有什么想法吗?

3 个答案:

答案 0 :(得分:3)

尝试使用$_SERVER['HTTP_HOST']。或者,如果您需要其他内容,请尝试此处:http://www.php.net/manual/en/reserved.variables.server.php

答案 1 :(得分:2)

生成单个像素图像时,请包含您感兴趣的信息,例如此信息。然后检查服务器日志。

echo '<img src="onepixel.png?servedby='.$_SERVER['HTTP_HOST'].">';

答案 2 :(得分:2)

显然,无论你做什么都可以被删除,因为一旦获得模板代码,用户就可以删除引用以追溯到你的脚本。

加载服务器的像素可以正常工作,您可以访问$ _SERVER中的数据,找出有关请求的一些信息并查找引荐来源。

更好的想法,IMO,是写一些存在于您的服务器上的JavaScript代码,并通过模板上的<script src="..."></script>标记包含在内。这将允许您通过动态创建图像源标记来“回家”,以便通过有关源的更多信息将此像素发送到您的服务器。

例如,你可以这么简单:

(function()
{
    var img = document.createElement('img'),
    src = "//www.yourserver.com/path/to/pixel.php?domain=" + document.domain;

    img.src = src;
})();

这会向您的服务器触发一个像素并包含加载您模板的域。您可以添加更多代码来识别浏览器,唯一跟踪用户 - 查看网站获得的流量,无论如何。

请确保您不使用任何第三方JS库,因为您不希望在站点上注入依赖项/增加加载时间。

相关问题