Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Saya Mendapatkan Alamat IP Pelanggan dalam Laravel 5 ?

Bagaimana Saya Mendapatkan Alamat IP Pelanggan dalam Laravel 5 ?

Linda Hamilton
Linda Hamiltonasal
2024-10-20 08:33:31772semak imbas

How Do I Get a Client's IP Address in Laravel 5 ?

Cara Mendapatkan Alamat IP Pelanggan dalam Laravel 5

Dalam Laravel, mendapatkan semula alamat IP pelanggan boleh menjadi tugas yang mudah. Dalam PHP teras, mengakses alamat IP dilakukan melalui $_SERVER["REMOTE_ADDR"]. Walau bagaimanapun, dalam Laravel, ini mungkin tidak menangkap IP pelawat dengan tepat.

Pendekatan Laravel

Laravel menyediakan kaedah khusus untuk mendapatkan alamat IP pelanggan:

<code class="php">Request::ip();</code>

Kaedah ini secara dalaman menggunakan fungsi getClientIps Symfony Request Object untuk mengendalikan proses mendapatkan semula alamat IP.

Cara getClientIps Beroperasi:

Kaedah getClientIps mengikuti a pendekatan berbilang langkah:

  1. Pengesahan Proksi Dipercayai: Ia menyemak sama ada permintaan datang daripada proksi yang dipercayai berdasarkan julat IP dipercayai yang dikonfigurasikan.
  2. Penghuraian Pengepala: Berdasarkan pengepala dipercayai yang dinyatakan dalam konfigurasi TrustedHeaders, ia mengekstrak alamat IP daripada pengepala IP Dimajukan atau Klien.
  3. Penciptaan Rantaian IP: Ia membentuk rangkaian alamat IP, termasuk IP asal permintaan, pengepala yang diekstrak dan proksi yang dipercayai.
  4. Penyingkiran Proksi Tidak Dipercayai: Mana-mana alamat IP yang dikenal pasti sebagai proksi dipercayai akan dihapuskan daripada rantaian.
  5. Pendapatan IP Pelanggan: Alamat IP pertama dalam rantaian ditapis proksi yang tidak dipercayai dikenal pasti sebagai alamat IP pelanggan.
  6. Penyingkiran Port: Ia mengalih keluar sebarang maklumat port daripada alamat IP pelanggan untuk konsistensi.

Atas ialah kandungan terperinci Bagaimana Saya Mendapatkan Alamat IP Pelanggan dalam Laravel 5 ?. 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