如何检查网页是否实际已加载?

时间:2009-11-25 09:08:02

标签: php

我有一个会员跟踪脚本,目前正在被联盟会员利用。在主要网站中,我使用此网址跟踪联盟会员点击次数www.example.com?member=affiliatecode, 然后我捕获查询字符串$ _GET ['member'];

问题是,一个联盟会员正在利用这个简单的系统,并且他的网站上的页面加载被记录为点击进入我的网站。

我可以添加哪些措施来防止这种情况而不更改我网站的会员链接?我的想法是检查我的页面是否实际已加载,但我如何在PHP中执行此操作?

由于

2 个答案:

答案 0 :(得分:0)

我并不完全掌握确切的问题(或者更确切地说,联盟会员如何记录点击量),但解决方案可能是在您的页面上放置一个图像,以确保浏览器已加载它。所以在你的页面底部你应该插入

<?
if ( isset($_GET['affiliate']) ){
    echo '<img src="affimg.php">';
}
?>

然后在affimg.php中,您将记录会员,然后输出1x1图像(记住设置标题)。缺点是没有办法阻止联盟会员只是简单地将该图像放入他的页面,如果联盟会员使用iframe,图像仍然会被加载。

更好的方法可能是简单地进行一些跟踪。不要只是要求访问一个页面,而是更改它,以便您需要两个或更多使用数据库来跟踪IP地址。

可能有更好的方法,但后来我不知道确切的细节。

答案 1 :(得分:0)

首先,你永远不能确定机器人/脚本而不是人类“点击”图像,这是事实。其次,你可以让事情变得有点困难。一个想法是:

提供包含通过Javascript点击事件触发的唯一链接的横幅,例如:

<a href="#" onClick="window.locatiom.href='http://www.targetsite.com/?token=<yourtokenhere>';"><img src="http://www.targetsite.com/image.jpg" /></a>

之前将令牌保存在您的数据库中,并为其提供几分钟的到期时间。然后,如果令牌稍后有效,则仅计算点击次数。因此,您的联盟会员必须更改“onClick”-Event或解析源代码以提取令牌。

如上所述,它只会让事情变得更加困难。您还可以解析您的联盟会员的网站来源,看看是否有,您的横幅被自动“点击”(这将是非常厚脸皮)。

另一个补充是在客户端读取cookie并将其附加到生成的链接以实现检查客户端是否已经请求了您的目标站点。

由于你不能完全保护自己不受假货的影响,你可以建立一些这样的小工具来提高安全性。

HTH