【问题标题】:How to check if the webpage has actually been loaded?如何检查网页是否实际已加载?
【发布时间】:2010-12-20 05:11:57
【问题描述】:

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

问题是,一个附属公司正在利用这个简单的系统,他网站上的页面加载被记录为点击进入我的网站。

在不更改指向我网站的附属链接的情况下,我可以添加哪些措施来防止这种情况发生?我的一个想法是检查我的页面是否已实际加载,但我将如何在 PHP 中做到这一点?

谢谢

【问题讨论】:

  • 我没有完全理解这个场景,也许你能详细说明一下吗?
  • 好的。所以有主站点和附属站点,它们有一个通往主站点的横幅。问题是,当附属网站被加载(没有点击主网站的实际横幅)时,主页被欺骗访问(通过 www.example.com?member=affiliatecode)。那么,我能做些什么来防止这种情况发生呢?

标签: php


【解决方案1】:

我不太了解确切的问题(或者更确切地说,会员是如何记录点击的),但一个解决方案可能是在您的页面上放置一张图片,以确保浏览器已加载它。因此,您应该在页面底部插入

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

然后在 affimg.php 中,您将记录会员,然后输出 1x1 图像(记得设置标题)。不利的一面是,没有办法阻止会员只需将图片放入他的页面,如果会员使用 iframe,图片仍会被加载。

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

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

【讨论】:

    【解决方案2】:

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

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

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

    之前将令牌保存在您的数据库中,并为其设置几分钟的到期时间。然后,仅当令牌稍后有效时才计算点击。因此,您的会员必须更改“onClick”事件或解析源代码以提取令牌。

    如前所述,它只会让事情变得更加困难。您还可以解析您的会员的网站源,以查看您的横幅是否被自动“点击”(这将是非常厚颜无耻的)。

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

    由于您无法完全保护自己免受假货的侵害,因此您可以构建几个类似这样的小工具来提高安全性。

    HTH

    【讨论】:

      猜你喜欢
      • 2018-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-20
      • 2012-07-03
      • 1970-01-01
      • 2018-01-08
      相关资源
      最近更新 更多