Bolehkah Anda Benar-benar Mempercayai $_SERVER['REMOTE_ADDR']?

Linda Hamilton
Lepaskan: 2024-11-13 03:06:02
asal
879 orang telah melayarinya

Can You Really Trust $_SERVER['REMOTE_ADDR']?

Kebolehpercayaan $_SERVER['REMOTE_ADDR']

$_SERVER['REMOTE_ADDR'] ialah pembolehubah penting dalam pembangunan web, menyediakan alamat IP klien yang memulakan permintaan HTTP. Walau bagaimanapun, terdapat salah tanggapan umum bahawa nilai ini boleh ditipu dengan mudah, yang membawa kepada kebimbangan tentang kebolehpercayaannya.

Bolehkah $_SERVER['REMOTE_ADDR'] Dipercayai?

Ya, secara amnya selamat untuk mempercayai nilai $_SERVER['REMOTE_ADDR']. Ia mewakili alamat IP sambungan TCP pelanggan dan tidak boleh diubah suai dengan mengubah pengepala HTTP. Ini kerana alamat IP adalah sifat sambungan TCP/IP dan tidak dihantar sebagai sebahagian daripada pengepala HTTP.

Potensi Perangkap

Walau bagaimanapun, terdapat satu pengecualian penting kepada peraturan ini. Jika pelayan anda berada di belakang proksi terbalik, REMOTE_ADDR akan mewakili alamat IP pelayan proksi, bukan klien. Dalam kes ini, alamat IP pelanggan akan disertakan dalam pengepala HTTP, biasanya X-Forwarded-For.

Contohnya, jika pelayan anda berada di belakang proksi terbalik dengan alamat IP 111.111.111.111, minta untuk pelayan anda akan kelihatan berasal dari alamat IP tersebut. Untuk mendapatkan alamat IP pelanggan dalam senario ini, anda perlu memeriksa pengepala X-Forwarded-For.

Walau bagaimanapun, dalam kebanyakan senario biasa di mana anda menerima terus permintaan HTTP daripada pelanggan tanpa proksi terbalik, mempercayai $_SERVER['REMOTE_ADDR'] ialah pendekatan yang boleh dipercayai untuk menentukan alamat IP pelanggan.

Atas ialah kandungan terperinci Bolehkah Anda Benar-benar Mempercayai $_SERVER['REMOTE_ADDR']?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan