Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Mendapatkan Alamat IP Pelawat Sebenar Apabila Menggunakan CloudFlare dalam PHP?

Bagaimana Mendapatkan Alamat IP Pelawat Sebenar Apabila Menggunakan CloudFlare dalam PHP?

DDD
DDDasal
2024-10-25 03:40:02775semak imbas

How to Get the Real Visitor IP Address When Using CloudFlare in PHP?

Mengambil semula Alamat IP Pelawat dengan CloudFlare dalam PHP

Menjejaki aktiviti pengguna melalui alamat IP ialah amalan biasa dalam pembangunan web. Walau bagaimanapun, apabila menggunakan CloudFlare untuk caching dan perkhidmatan lain, alamat IP yang dilog melalui $_SERVER['REMOTE_ADDR'] PHP mungkin tidak menggambarkan identiti sebenar pelawat dengan tepat. Alamat IP CloudFlare dalam julat 108.162.212. hingga 108.162.239. menutup alamat IP pelawat sebenar.

Untuk menangani isu ini, CloudFlare menyediakan beberapa pembolehubah pelayan tambahan untuk mengenal pasti sambungan Alamat IP pelawat:

  • $_SERVER["HTTP_CF_CONNECTING_IP"]: Pembolehubah ini mengandungi alamat IP pelawat, yang membenarkan pengelogan alamat IP yang tepat.
  • $_SERVER["HTTP_CF_IPCOUNTRY" "]: Ia menyediakan negara pelawat.
  • $_SERVER["HTTP_CF_RAY"]: Ini ialah pengecam unik untuk setiap permintaan.
  • $_SERVER["HTTP_CF_VISITOR"]: Ia menunjukkan sama ada permintaan dibuat melalui HTTP atau HTTPS.

Untuk mendapatkan semula alamat IP pelawat sebenar semasa menggunakan CloudFlare, anda boleh menggunakan kod berikut:

<code class="php">if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}</code>

Dengan menetapkan $_SERVER[' REMOTE_ADDR'] kepada nilai $_SERVER["HTTP_CF_CONNECTING_IP"], anda boleh memastikan alamat IP log dengan betul mengenal pasti pelawat ke tapak web anda.

Perhatikan bahawa kesahihan alamat IP yang dilawati mungkin masih memerlukan pengesahan, kerana sesiapa sahaja boleh memalsukan maklumat pengepala.

Atas ialah kandungan terperinci Bagaimana Mendapatkan Alamat IP Pelawat Sebenar Apabila Menggunakan CloudFlare dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn