检测用户是否已将跟踪代码放置到位

时间:2012-02-20 07:27:59

标签: javascript

许多网络应用程序,例如Clicky和Crazy Egg,要求您在网站上添加跟踪代码。这些应用程序通常会检测代码是否已经到位,但我想知道建议的方法(或方法)是检测用户是否在其网站上放置了一段JavaScript。

有关您的信息,此问题并未涉及任何这些应用程序。我想模仿这种行为,让用户知道JavaScript代码段是否已正确安装。

编辑:我应该澄清一下,我想检测服务器端用户是否在其网站上正确安装了跟踪代码。

2 个答案:

答案 0 :(得分:2)

简短回答

检查HTTP Referer

答案很长

您需要确保两件事:

  • 脚本文件已加载到相应页面上
  • 该脚本实际执行

当页面中包含脚本时,浏览器会将Referer字段的内容设置为该页面的URL。

但是,这不可靠。如果用户想要故意欺骗系统,可以通过加载脚本文件而不运行它来实现。例如

<img src="script.js">

这将导致错误,但只有在加载文件后才会出现错误。

如果要确保脚本实际运行,可能需要某种类型的令牌注入:

// script.js.php
var tokenId = '<?php echo getTokenId(); ?>';
(new Image()).src = 'yesItActuallyRuns.php?tokenId=' + tokenId;

可能还有其他方法,但我现在想不出任何可靠的方法。

答案 1 :(得分:-1)

在页面加载时输入一个jquery代码来查找.js脚本。