Mengetahui alamat IP pengunjung berguna untuk mencatat aktivitas, membatasi akses berdasarkan wilayah, mencegah spam, atau analitik sederhana. Artikel ini membahas cara mendapatkan alamat IP pengunjung di PHP.
Menggunakan $_SERVER
<?php echo $_SERVER["REMOTE_ADDR"]; // misalnya "203.0.113.45" ?>
Contoh Kasus: Mencatat IP ke Log
<?php
$ip = $_SERVER["REMOTE_ADDR"];
$waktu = date("Y-m-d H:i:s");
$baris = "$waktu - $ip mengakses halaman\n";
file_put_contents("akses.log", $baris, FILE_APPEND);
?>
Di Balik Proxy atau Cloudflare
Bila situs memakai proxy, IP asli mungkin ada di header lain. Namun hati-hati: header ini bisa dipalsukan pengguna, jadi jangan memercayainya penuh untuk keputusan keamanan:
<?php
function getIP() {
if (!empty($_SERVER["HTTP_CF_CONNECTING_IP"])) {
return $_SERVER["HTTP_CF_CONNECTING_IP"]; // Cloudflare
}
return $_SERVER["REMOTE_ADDR"];
}
echo htmlspecialchars(getIP());
?>
Peringatan Keamanan
Header X-Forwarded-For mudah dipalsukan. Untuk pembatasan akses yang serius, andalkan REMOTE_ADDR yang berasal dari koneksi langsung, bukan header yang bisa dimanipulasi.
Kesimpulan
Gunakan $_SERVER["REMOTE_ADDR"] untuk mendapatkan IP pengunjung. Di balik Cloudflare, gunakan header khusus penyedia, tetapi jangan pernah memercayai X-Forwarded-For untuk keputusan keamanan karena bisa dipalsukan.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

