我怎么知道网站加载了我的图像


How can I know whch web site loads my image?

我已经创建了一些免费的HTML模板,可以免费共享它们,但我想知道我的模板安装在哪里。

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

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

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

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

从服务器加载像素就可以了,您可以在 $_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 库,因为您不想在站点上注入依赖项/增加加载时间。

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

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