Cara Mengetahui Ip Klien Client

Daftar Isi:

Cara Mengetahui Ip Klien Client
Cara Mengetahui Ip Klien Client

Video: Cara Mengetahui Ip Klien Client

Video: Cara Mengetahui Ip Klien Client
Video: Mencari IP address AP dan Client 2024, April
Anonim

Dengan alamat IP pengunjung situs Anda, Anda dapat mengetahui cukup banyak tentang dia - negara, kota, nama dan alamat email penyedia Internet, dll. Tetapi nilai utamanya adalah IP dapat berfungsi sebagai ID pengunjung untuk skrip sisi server. Di bawah ini dijelaskan bagaimana Anda dapat menentukan alamat IP menggunakan PHP.

Cara mengetahui ip klien client
Cara mengetahui ip klien client

Itu perlu

Pengetahuan dasar tentang PHP

instruksi

Langkah 1

Untuk mengekstrak alamat IP dari header yang dikirim ke server permintaan browser, gunakan fungsi getenv. Ia membaca nilai yang ditentukan untuknya dari variabel lingkungan. Variabel bernama REMOTE_ADDR digunakan untuk menyimpan alamat IP pengunjung. Namun, klien dapat menggunakan server proxy, dalam hal ini variabel akan berisi alamatnya, dan bukan yang Anda inginkan. Anda dapat mengetahui bahwa peselancar web menggunakan IP perantara dengan melihat variabel lingkungan yang disebut HTTP_VIA. Semua alamat server proxy yang terlibat dalam rantai ditempatkan di dalamnya, dipisahkan dengan koma. Server perantara harus menempatkan alamat pengunjung dalam variabel bernama HTTP_X_FORWARDED_FOR, tetapi ini sepenuhnya bergantung pada pengaturan proxy. Ini berarti bahwa untuk mencakup sebanyak mungkin kemungkinan penentuan alamat IP, Anda perlu memeriksa konten setidaknya tiga variabel: REMOTE_ADDR, HTTP_X_FORWARDED_FOR, dan lebih disukai

Langkah 2

Anda dapat menggabungkan pengecekan ketiga variabel menjadi satu baris kode PHP, misalnya seperti ini:

$ ipAddr = getenv ('HTTP_CLIENT_IP') atau $ ipAddr = getenv ('HTTP_X_FORWARDED_FOR') atau $ ipAddr = getenv ('REMOTE_ADDR');

Setelah memperoleh nilai alamat IP dengan cara ini, disarankan untuk menghapusnya dari kemungkinan distorsi dan karakter yang tidak perlu. Anda dapat menggunakan ekspresi reguler untuk ini:

$ ipAddr = trim (preg_replace ('# ^ ([^,] +) (,. *)? #', '$1', $ ipAddr));

Langkah 3

Tetap menggabungkan kedua baris kode menjadi satu fungsi:

fungsi getIP() {

$ ipAddr = getenv ('HTTP_CLIENT_IP') atau $ ipAddr = getenv ('HTTP_X_FORWARDED_FOR') atau $ ipAddr = getenv ('REMOTE_ADDR');

kembali trim (preg_replace ('# ^ ([^,] +) (,. *)? #', '$1', $ ipAddr));

}

Direkomendasikan: