Untuk tujuan pembelajaran,
hari ini saya nak kongsi satu script php untuk system log web. fungsinya ala2 logger but not keyloggers.. dengan adanya script ini kita akan tahu apa yang user tengok, post, ip dorang, browser.
Mari mulakan:
- Code:
-
<?php
$agent = $_SERVER['HTTP_USER_AGENT'];
$uri = $_SERVER['REQUEST_URI'];
$ip = $_SERVER['REMOTE_ADDR'];
$ref = $_SERVER['HTTP_REFERER'];
$proxy = $_SERVER['HTTP_X_FORWARDED_FOR'];
$via = $_SERVER['HTTP_VIA'];
$dtime = date('r');
$entry_line =
"
//--------------------------- //
Masa: $dtime
IP: $ip
Browser: $agent
URL: $uri
Referrer: $ref
Proxy: $proxy
Koneksi: $via
//--------------------------- //
";
$fp = fopen("log.txt", "a");
fputs($fp, $entry_line);
fclose($fp);
?>
Then save it as log.php
Explaination:
$_SERVER merupakan variables yang dihasilkan oleh web server. So semua variables yang berhubung dengan pelayan server contohnya untuk mengetahui alamat “IP Host” dan “Nama Host”.
$_SERVER['HTTP_USER_AGENT']; digunakan untuk melihat type Browser
$_SERVER['REQUEST_URI']; digunakan untuk mengetahui script ini disimpan ( file log.php yang kita buat tadi ).
$_SERVER['REMOTE_ADDR']; digunakan untuk melihat IP pengunjung.
$_SERVER['HTTP_REFERER']; digunakan untuk mengetahui script ini di referer dimana.
$_SERVER['HTTP_X_FORWARDED_FOR']; Untuk melihat jika ada proxy digunakan oleh pengunjung.
$_SERVER['HTTP_VIA']; Untuk melihat connection pengunjung.
$dtime = date(‘r’; Ini untuk Tarikh.
Variable
$entry_line merupakan deskripsinya. Setelah itu server akan create file "log.txt" dengan fungsi
fopen() dan dengan fungsi
fputs() akan menyalin isi dari variable
$entry_line didalamnya. Untuk “a” itu berfungsi apabila log.txt belum dicreate, jadi log.txt akan dibuat secara automatik. Tutup file dengan
fclose().
Jika ada penambahan daripada pakar2 php atau abang/kakak yang terer dalam php.. sila bagi tunjuk ajar. Jika terdapat kesalahan dalam tutorial saya ini, sila perbetulkan.
Thanks,
wackwall