Anda tentu sudah terbiasa dengan counter online semacam feedjit, atau sitetracker, hitwebcounter, dan lain sebagainya. Sebenarnya bagaimana sih cara kerjanya. Cara kerjanya adalah mereka menanam program atau gambar program yang kemudian akan ikut ter-hit jika web dibuka oleh seseorang. Google analytics dan alexa pun juga melakukan hal yang serupa. Mereka meminta kita menanam suatu program atau file ke dalam struktur web kita, selanjutnya mereka akan selalu tahu ketika web kita dibuka. Sebenarnya dapat dibuat sendiri program site tracker sendiri, karena ternyata memang Apache dan bahasa pemrograman sisi server juga mendukung dibuatnya program untuk trace ip tersebut.
Untuk mengenalnya anda dapat membuka halaman http://php.net/manual/en/reserved.variables.server.php. Di sana dikenalkan beberapa hal tentang variable $_SERVER. Cobalah anda membuat sebuah halaman bernama : serverku.php, dan isilah dengan command seperti berikut:
print_r($_SERVER);
bukalah dari sisi client. Apa yang terjadi.
Selanjutnya, mari kita kenali beberapa variable penting untuk keperluan site trace tracker ini. Antara lain adalah:
- $_SERVER[‘HTTP_USER_AGENT’]; = adalah mesin yang digunakan oleh pengakses, meliputi Operating System, Browser, dan versi yang ada. Tertangkap ketika mengakses file program tracer.
- $_SERVER[‘REMOTE_ADDR’]; = adalah IP Pengakses file, tertangkap ketika mengakses program tracer
- $_SERVER[‘HTTP_REFERER’]; = adalah halaman yang dibuka (yang mengangkut program trace ) tertangkap ketika mengakses program tracer
- $_SERVER[‘HTTP_X_FORWARDED_FOR’]; adalah IP Lokal jika terdeteksi atau IP sebenarnya dibalik Proxy
Sebenarnya masih sangat banyak parameter yang bisa digunakan untuk melengkapi tracer/tracker IP ini. Namun kita hanya akan melakukan pengambilan dengan parameter ini saja dulu.
Selanjutnya kita akan buat dua buah program dengan PHP , yang pertama adalah tracker, yang kedua adalah tampilan untuk melihat hasil tracing IP. Untuk itu kita buat dulu tabel dalam sebuah database dengan susunan kira-kira sebagai berikut: nama database:trace, tabel: hits, dengan kolom
id, integer, panjang 10, autoincrement, primary key useragent, text page, text remote_addr, varchar 255 time_access, timestamp x_forwarded_for, varchar 255
Tabel yang terbentuk kira-kira adalah seperti berikut:
No | IP | Page | Waktu | Mesin | IP Lokal/Proxy |
---|---|---|---|---|---|
1 | 127.0.0.1 | http://localhost/latihan1/anu.php | 2012-04-23 15:12:38 | ||
2 | 127.0.0.1 | http://localhost/latihan1/ | 2012-04-23 15:11:39 |
Lantas kita buat program tracer / tracker dengan nama counter.php yang bertujuan melakukan inject ke dalam server database sebagai berikut:
~
Kemudian sisi penampil hasil dengan nama lihat.php dibuat sebagai berikut:
No | IP | Page | Waktu | Mesin | IP Lokal/Proxy |
---|---|---|---|---|---|
Selanjutnya bukalah http://namaserver/dir/counter.php. Dan lihatlah di http://namaserver/dir/lihat.php. Seharusnya anda telah melihat satu IP record baru. Kemudian secara simple, ternyata counter.php ini meskipun berekstensi PHP, namun tetap dapat diload sebagai image. Maka masukkan counter.php ini ke dalam salah satu widget blog anda dengan cara <img src=”http://namaserver/dir/counter.php”>. Setiap kali halaman dibuka, maka file counter.php akan ikut terpanggil dan melakukan proses. Untuk demo dapat diakses di https://blogit.bimosaurus.com/demo/lihat.php. Di mana setiap kali anda refresh, anda akan dapat melihat record dari database bertambah. Lihat juga view Source nya dari Browser anda atau tekan tombol Ctrl U. Anda akan mendapati bahwa saya menyisipkan counter.php dengan img src.
Untuk paging halaman lihat.php tidak saya buat, silakan dikembangkan sendiri yang mungkin literaturnya di dapat dari posting lalu https://blogit.bimosaurus.com/2011/09/13/simple-advanced-paging-php/ dan https://blogit.bimosaurus.com/2012/04/11/contoh-menyiasati-paging-dengan-jquery-jcarousel
Sebenarnya proses tersebut dapat dikembangkan lagi antara lain:
- Menentukan asal network dan negara
- Membuka seluruh variabel server yang ada
- counter.php benar-benar akan berupa gambar
- Menentukan IP Unik
- Membuat Statistik
- Membuat counter berdasar gambar
- dan lain sebagainya
Namun untuk tahap ini adalah pengenalan dasar pembuatan site tracker. Tentu akan kita bahas di lain posting. Semoga bermanfaat.
Mantep mas bim. Huf, mau meneruskan di dunia IT kok pertentangan batin yah 😀
sebenarnya sama mas.. ming saya sekedar mblogging sambil nyatet nyatet barangkali berguna buat sesama.. nek di MP agak nggak nyaman masukkan kode javascript e je mas
Terima kasih Pak.. Saya pakai untuk aplikasi layanan ini.. hehehe
http://www.asanoer.com/hit-counter/hit-counter.txt