Записать IP-адрес пользователя, дату и время - PullRequest
12 голосов
/ 27 июля 2011

Существует ли простой скрипт или фрагмент кода, который я могу добавить на свою страницу, чтобы вести журнал каждого посетителя, дату и время его посещения и IP-адрес?И что было бы лучшим способом сделать это ... JavaScript, PHP, что-то еще?

РЕДАКТИРОВАТЬ:

Ой ...

Вот что случилось ..Когда я зашел на свой сервер с FileZilla, там были все доменные имена (около 20), я вошел в систему как мой домен.com, поэтому я нашел то, что мне было нужно, и проверил журналы, но это были в основном поисковые системы.

Но я просто вернулся и случайно прокрутил список до вещей, которые были вне поля зрения, и там снова были все доменные имена с www впереди, как www.mydomain.com, и, конечно, журналы там огромны.и иметь каждый бит информации, которая мне нужна.

Это произошло потому, что я нашел то, что искал mydomain.com, и, конечно, я перестал искать.Я не знал и не видел, что был совершенно другой вид из поля зрения ... честная ошибка.

Я все еще использую этот код, потому что он красивый и маленький, журналы чертовски огромны и занимают часыскачать и посмотреть.

Ответы [ 5 ]

37 голосов
/ 27 июля 2011
$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.

4 голосов
/ 27 июля 2011

Самый простой кусок кода, который можно добавить на вашу страницу, - это вовсе не код.Могу ли я предложить «что-то еще»?Попробуйте использовать встроенную функцию ведения журнала запросов вашего веб-сервера вместо того, чтобы писать какой-то специальный код PHP.

Apache и многие другие веб-серверы могут создавать журналы в Common Log Format (CLF), и их много.инструменты, доступные для анализа таких журналов и построения красивых графиков для вас ( Webalizer , Awstats и т. д.).Строка журнала CLF выглядит следующим образом, что дает вам всю запрашиваемую информацию и многое другое:

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

См. Соответствующую часть документации для вашего веб-сервера, чтобы узнать, как настроить ведение журнала и дать ему краткий обзор:

4 голосов
/ 27 июля 2011
<?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']);
?>
2 голосов
/ 02 апреля 2017

вот мой маленький скрипт для регистрации 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);
?>

и результатом является хороший веб-файл журнала HTML журналы / IP-адрес 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>

ниже - изображение того, как оно выглядит.

enter image description here

что ты думаешь об этом, я думаю, что это чисто и просто вроде.

1 голос
/ 27 июля 2011

Наиболее полный - журнал доступа Apache: Файлы журнала -> Журнал доступа @ httpd.apache.org

...