试图将HTTP_REFERER写入REFERER.txt,但它';It’不起作用


trying to write HTTP_REFERER to referer.txt but it's not working

我有几个问题。我在Joomla工作。我正试图使用此php代码将referr写入referr.txt,但我在joomla:中找不到"referr.txt"

<?php 
$referer = get_en("HTTP_REFERER");
if($referer){
$fp=fopen("referer.txt","a")||die("Could not open referer file!");
fwrite($fp,$referer);
fclose($fp);
}
?>

然而,staging上的页面并没有在firebug中抛出任何错误。

老板们想要一个特定页面的引用人记录(我用这个特定页面作为测试。它不是目标页面)。

我的问题是:

  1. 如果上面的代码没有失败,那么referer.txt在joomla系统中会在哪里?

  2. 有其他方法吗?例如,此页面http://www.webvanta.com/post/248869-using-referrer-urls-to-better-understand建议使用javascript构建cookie来跟踪引用者,以及此网站http://webdesign.about.com/cs/loganalysistools/a/aaloganalysis.htm建议使用web日志和日志分析工具。

最好的方法是什么?

第一行$referer = get_en("HTTP_REFERER");使用get_en(),但内置函数是getenv()

访问当前用户的referrer的另一种方法是通过$_SERVER['HTTP_REFERRER'];参数——尽管根据文档,这与使用getenv()相同。

跟踪引用者的服务器端方法是解析Apache创建的access_log文件。这些日志将为您提供请求日期、请求类型(GET、POST等)、文件、查询字符串、IP、UserAgents以及大量其他信息部分。

关于referer.txt文件的存储位置,应该使用绝对路径打开它。可以使用$fp=fopen($_SERVER['DOCUMENT_ROOT'] . '/referer.txt', 'a');,也可以设置自定义路径,如$fp=fopen("/tmp/referer.txt", 'a');