Mendapatkan Informasi Pengunjung Untuk Situs Yang Menggunakan Cloudflare

Jika website Kita menggunakan layanan dari Cloudflare maka distribusi trafik kunjungan akan melalui jaringan global milik Cloudflare dulu baru ke website Kita. Mekanisme ini dapat menyebabkan deteksi informasi pengunjung menggunakan variabel server PHP standar untuk mendapatkan IP Address beserta informasi yang dibawa olehnya menjadi tidak akurat.

Argumen Variabel Server PHP Khusus Cloudflare

Namun ternyata PHP sudah menyediakan argumen variabel $_SERVER khusus untuk mendeteksi informasi pengunjung website yang menggunakan layanan Cloudflare. Berikut ini adalah daftarnya.

$_SERVER["HTTP_CF_CONNECTING_IP"]
Output argumen variabel ini akan menunjukan IP Address pengunjung website

$_SERVER["HTTP_CF_IPCOUNTRY"]
Output argumen variabel ini akan menunjukan Negara asal pengunjung website.

Dengan demikian maka Kita dapat mengetahui IP address pengunjung website Kita dengan output diatas. Agar fleksibel, dimana Kita tidak tahu apakah nantinya website Kita akan menggunakan Cloudflare atau tidak, maka Kita dapat medefinisi ulang argumen variabel bawaan / lama PHP untuk deteksi server didalam function / class / atau kode langsung yang Kita buat untuk keperluan informasi pengunjung ini. misalnya dengan cara:


// cek jika web menggunakan cloudflare
if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
// jika menggunakan cloudflare maka hasil dari argumen REMOTE_ADDR akan diambil dari argumen yang didefinisi-kan cloudflare
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];  
}

Tambahan Argumen Variabel Terkait Cloudflare

Tidak hanya kedua argumen variabel diatas, PHP juga memiliki argumen lain dengan keperluan berbeda.

$_SERVER["HTTP_CF_RAY"]
Adalah header cloudflare berupa hash untuk melacak permintaan yang berasal dari jaringan cloudflare. Contoh penggunaan pada webserver Apache dan NginX dapat dilihat pada halaman berikut: Adding the CF-RAY header to your logs

$_SERVER["HTTP_CF_VISITOR"]
Ini adalah mendeteksi permintaan dari pengunjung, apakah http atau https pengunjung mengetikan alamat website Kita ketika berkunjung. Argumen ini serupa dengan $_SERVER['HTTP_HOST'], jadi lingkup pemanfaatannya sama.

Apabila ada tambahan atau koreksi dari tulisan diatas diharapkan masukannya melalui kotak komentar dibawah.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *