Bagaimana Untuk Mengetahui Ip Pelawat Laman Web

Isi kandungan:

Bagaimana Untuk Mengetahui Ip Pelawat Laman Web
Bagaimana Untuk Mengetahui Ip Pelawat Laman Web

Video: Bagaimana Untuk Mengetahui Ip Pelawat Laman Web

Video: Bagaimana Untuk Mengetahui Ip Pelawat Laman Web
Video: Cara Mengetahui Alamat IP Website 2024, April
Anonim

Selalunya, alamat IP pelawat laman web digunakan untuk mengenalinya. Tetapi selain itu, dengan menggunakan IP, anda boleh mendapatkan banyak maklumat tambahan mengenai pelawat - misalnya, mengetahui penyedia Internet dan lokasi geografinya. Dalam praktiknya, skrip PHP sisi pelayan paling sering digunakan untuk mengekstrak alamat IP dari tajuk permintaan yang dihantar oleh penyemak imbas.

Bagaimana untuk mengetahui ip pelawat laman web
Bagaimana untuk mengetahui ip pelawat laman web

Ia perlu

Pengetahuan asas PHP

Arahan

Langkah 1

Gunakan fungsi getenv bawaan PHP untuk membaca alamat IP dari pelbagai pemboleh ubah persekitaran superglobal. Dalam kes yang paling mudah, cukup untuk membaca pemboleh ubah bernama REMOTE_ADDR. Sepotong kod PHP yang sesuai mungkin kelihatan seperti ini: $ userIP = getenv ('REMOTE_ADDR');

Langkah 2

Sebagai tambahan kepada pemboleh ubah REMOTE_ADDR yang dikirim dalam permintaan, periksa pemboleh ubah HTTP_VIA dan HTTP_X_FORWARDED_FOR. Sekiranya pelawat menggunakan pelayan proksi, maka alamat perantaraan mesti direkodkan dalam kedua-dua pemboleh ubah - di kedua HTTP_VIA dan REMOTE_ADDR. Dalam kes ini, anda boleh mencuba mengetahui IP sebenar pelawat melalui HTTP_X_FORWARDED_FOR - pelayan proksi mesti memasukkan alamat asal ke dalamnya. Walau bagaimanapun, ini tidak selalu dilakukan, dan pengguna berpeluang memilih pelayan proksi "legap" yang tidak menghantar IP asal pelawat yang menghantar permintaan. Bagaimanapun, anda harus menggunakan sebanyak mungkin cara untuk mendapatkan alamat IP asal dalam kod anda dengan menambahkan cek untuk pemboleh ubah

Langkah 3

Gabungkan dalam satu baris kod PHP pemeriksaan berturutan dari tiga pemboleh ubah persekitaran, yang mungkin mengandungi alamat IP asal pelawat. Ini boleh dilakukan, misalnya, seperti ini: $ userIP = getenv ('HTTP_CLIENT_IP') ATAU $ userIP = getenv ('HTTP_X_FORWARDED_FOR') ATAU $ userIP = getenv ('REMOTE_ADDR');

Langkah 4

Keluarkan watak tambahan dan "sampah" lain dari nilai IP yang dihasilkan yang mungkin masuk ke dalam pemboleh ubah persekitaran. Ini boleh dilakukan, misalnya, menggunakan fungsi PHP bawaan TRIM dan preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ penggunaIP));

Langkah 5

Gabungkan semua kod ke dalam fungsi kustom sehingga anda dapat merujuknya daripada mengulangi garis cek dan pembersihan berulang-ulang di berbagai bahagian skrip PHP anda. Contohnya, seperti ini: FUNCTION getUserIP () {

$ userIP = getenv ('HTTP_CLIENT_IP') ATAU $ userIP = getenv ('HTTP_X_FORWARDED_FOR') ATAU $ userIP = getenv ('REMOTE_ADDR');

KEMBALI TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

}

Disyorkan: