12

是否有一个简单的脚本或一段代码可以添加到我的页面来记录每个访问者、他们访问页面的日期和时间以及 IP 地址?什么是最好的方式来做到这一点...... javascript,php,其他东西?

编辑:

哎哟...

这是发生的事情......当我使用 FileZilla 访问我的服务器时,所有域名(大约 20 个)都像我的 domain.com 一样被记录,所以我找到了我需要的域名并检查了日志,但主要是搜索引擎。

但是我刚回去,碰巧向下滚动到看不见的东西,所有的域名又在前面加上 www,比如 www.mydomain.com,当然那里的日志很大,而且每一点都有我需要的信息。

发生这种情况是因为我找到了我正在寻找的 mydomain.com,当然我停止了寻找。我不知道也不知道有一个完全不同的场景……诚实的错误。

我仍在使用该代码,因为它又好又小,日志非常庞大,需要数小时才能下载和查看。

4

5 回答 5

42
$line = date('Y-m-d H:i:s') . " - $_SERVER[REMOTE_ADDR]";
file_put_contents('visitors.log', $line . PHP_EOL, FILE_APPEND);

还要考虑日志记录$_SERVER['REQUEST_URI']或其他有趣的信息,可能采用@Day 概述的更标准的格式。

于 2011-07-26T23:08:42.620 回答
4
<?php
    // include this piece of code in every page call

    // write in database row
    $log = array('time' => time(), 'ip' => $_SERVER['REMOTE_ADDR'], 'url' => $_SERVER['REQUEST_URI']);
?>
于 2011-07-26T23:10:34.167 回答
4

最简单的添加到页面的代码就是没有代码。那么我可以建议“别的东西”吗?尝试使用您的网络服务器的内置请求日志记录工具,而不是编写一些自定义 PHP 代码。

Apache 和许多其他网络服务器可以生成通用日志格式(CLF) 的日志,并且有许多工具可用于分析此类日志并为您绘制漂亮的图表(WebalizerAwstats等)。CLF 日志行如下所示,可为您提供所需的所有信息以及更多信息:

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 

请参阅您的网络服务器的相应文档,了解如何配置日志记录并试一试:

于 2011-07-27T00:00:32.773 回答
2

这是我记录 ip 地址的小脚本,不要忘记在 /HEAD 标记之后添加以下内容,还请注意,它必须是 PHP 而不是 HTML

<?php include ('log-ip.php') ?>

你想从哪里调用它

“日志-ip.php”

<?php
$iplogfile = 'logs/ip-address-mainsite.html';
$ipaddress = $_SERVER['REMOTE_ADDR'];
$webpage = $_SERVER['SCRIPT_NAME'];
$timestamp = date('d/m/Y h:i:s');
$browser = $_SERVER['HTTP_USER_AGENT'];
$fp = fopen($iplogfile, 'a+');
chmod($iplogfile, 0777);
fwrite($fp, '['.$timestamp.']: '.$ipaddress.' '.$webpage.' '.$browser. "\n<br><br>");
fclose($fp);
?>

结果是一个不错的 Web HTML 日志文件 logs/ip-address-mainsite.html

<!DOCTYPE html><!-- HTML5 -->

<head>
<body bgcolor="#000000">
<title>NZ Quakes - Main Web Site Log</title>

</head>

<body>
<font color="#7FFF00">
<center>NZ Quakes - Main Web Site Log</center>
<font color="gold">
<br><center>
[01/04/2017 08:25:21]: 124.197.9.181 /index.php Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36
<br><br>

下面是它的样子的图片。

在此处输入图像描述

你怎么看这个我认为它干净简单。

于 2017-04-02T00:40:03.717 回答
1

最全面——Apache的访问日志:Log Files -> Access Log @ httpd.apache.org

于 2011-07-26T23:06:42.447 回答