Bolehkah Kita Bergantung pada $_SERVER['REMOTE_ADDR']?
Dalam pembangunan web, $_SERVER['REMOTE_ADDR'] memegang IP alamat pelanggan yang membuat permintaan. Kebolehpercayaannya, bagaimanapun, menimbulkan kebimbangan.
Adakah Ia Boleh Dipercayai?
Ya, mempercayai $_SERVER['REMOTE_ADDR'] secara amnya dianggap selamat. Ia mewakili alamat IP sumber sambungan TCP dan tidak boleh dimanipulasi dengan mengubah pengepala HTTP.
Nota tentang Proksi Songsang
Dalam kejadian yang jarang berlaku, anda menggunakan proksi terbalik, REMOTE_ADDR akan mencerminkan IP pelayan proksi, bukan pengguna. Dalam senario ini, IP pengguna mungkin tersedia melalui pengepala HTTP (cth., X-Forwarded-For).
Contoh Penggunaan
Pertimbangkan kod berikut:
if ($_SERVER['REMOTE_ADDR'] == '222.222.222.222') { // my ip address $grant_all_admin_rights = true; }
Kod ini memberikan hak pentadbir berdasarkan alamat IP tertentu. Walaupun ia adalah contoh yang mudah, penggunaan $_SERVER['REMOTE_ADDR'] untuk kawalan akses adalah amalan yang diterima umum.
Atas ialah kandungan terperinci Adakah $_SERVER['REMOTE_ADDR'] Sumber Boleh Dipercayai untuk IP Pelanggan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!