【发布时间】:2014-03-31 15:27:30
【问题描述】:
您能否建议我可以插入网页的简单 PHP 脚本,该脚本将跟踪和记录访问网页的每个 HTTP_REFERER 用户? 非常感谢您提前提供帮助
【问题讨论】:
标签: php http-referer
您能否建议我可以插入网页的简单 PHP 脚本,该脚本将跟踪和记录访问网页的每个 HTTP_REFERER 用户? 非常感谢您提前提供帮助
【问题讨论】:
标签: php http-referer
使用$_SERVER['HTTP_REFERER'] 不可靠。
但是,如果你仍然想走那条路,你可以使用以下方法。
它的作用是使用三元运算符来检查是否设置了referer。
如果找到了引用者,那么它将记录到文件中,并使用a 开关附加/添加到它。否则,如果找不到或无法记录,它将简单地回显而不向文件写入任何内容。
如果您不想继续添加到文件中,请使用w 开关。
注意 - 使用w 开关将覆盖任何以前写入的内容。
<?php
$refer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
if(!empty($refer)){
$fp = fopen('file.txt', 'a');
fwrite($fp, "$refer" . "\n"); // Using \n makes a new line. \r\n Windows/MAC
fclose($fp);
echo "Referer found and written to file.";
}
else{
echo "No referer, nothing written to file.";
}
// Or use this to write "No referer" in the file as a replacement
/*
else{
$fp = fopen('file.txt', 'a');
fwrite($fp, "No referer" . "\n");
fclose($fp);
echo "No referer.";
}
*/
【讨论】:
$_SERVER['HTTP_REFERER'] 并不总是可靠的。
这是一个非常简单的脚本,可让您将其存档:
$fp = fopen('myfile.txt', 'w');
fwrite($fp, $_SERVER['HTTP_REFERER']);
fclose($fp);
【讨论】:
在 apache 中记录可能是一个更好的主意(如果是平台的话)。
关于日志文件: http://httpd.apache.org/docs/1.3/logs.html
然后使用一些指定的软件来分析日志。
这样做的原因是,构建自己的跟踪脚本比看起来要多得多,即使是在最简单的层面上也是如此。如果它可以使用。
另一个想法是安装一些来自第 3 方的日志记录软件。我认为 statcounter 使用日志文件,例如可以为您提供所需的内容。
【讨论】: