Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Log user ip address, date and time

Is there a simple script or piece of code I can add to my page to keep a log of every visitor, the date and time they hit the page and IP address? And what would be the best way to do this... javascript, php, something else?

EDIT:

Ouch...

Here is what happened... When I went to my server with FileZilla there were all the domain names (about 20) I have being logged like my domain.com so I found the one I needed and checked the logs but it was mainly search engines.

But I just went back and happened to scroll down to stuff that was out of view and there were all the domain names again with www in front like www.mydomain.com and of course the logs in there are huge and have every single bit of info I need.

This happened because I found what I was looking for mydomain.com and of course I stopped looking. I didn't know or see there was a whole other set out of view... honest mistake.

I am still using that code because it is nice and small, the logs are freakin' huge and take hours to download and look at.

like image 887
gravityboy Avatar asked Jul 26 '11 23:07

gravityboy


2 Answers

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

Consider also logging $_SERVER['REQUEST_URI'] or other interesting information, possibly in a more standard format as outlined by @Day.

like image 118
deceze Avatar answered Nov 15 '22 14:11

deceze


here is my little script to log ip addresses dont forget to add the below after the /HEAD tag also note to make this work it must be a PHP not HTML

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

where ever you want it called from

"log-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);
?>

and the resault is a nice web HTML log file 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>

below is a picture of what it looks like.

enter image description here

what do you think about this i think its clean and simple sort of.

like image 34
evilbudz Avatar answered Nov 15 '22 14:11

evilbudz