Rumah > Artikel > pembangunan bahagian belakang > Bolehkah $_SERVER['REMOTE_ADDR'] ditipu?
Memalsukan Pembolehubah $_SERVER['REMOTE_ADDR']
Soalan:
Adakah mungkin untuk mengubah atau memanipulasi kandungan pembolehubah $_SERVER['REMOTE_ADDR'], yang biasanya mewakili alamat IP pelanggan yang membuat permintaan?
Jawapan:
Memalsukan pembolehubah $_SERVER['REMOTE_ADDR'] dari jauh adalah mungkin, bergantung pada tahap manipulasi yang diingini. Mari kita mendalami pilihan:
Pemalsuan Tahap Soket:
Jika menerima respons tidak penting, adalah mungkin untuk mewujudkan sambungan soket mentah ke pelayan destinasi dan memalsukan alamat IP sumber. Ini adalah kerana PHP tidak mempunyai akses langsung kepada pelaksanaan soket di bawah tahap TCP.
Kompromi Gerbang:
Dengan menjejaskan get laluan yang dikaitkan dengan alamat IP sasaran, adalah mungkin untuk menyamar sebagai komputer yang sepadan. Memandangkan pelayan tidak dapat membezakan antara pelanggan tulen dan pelanggan palsu, kompromi get laluan menyediakan kawalan sepenuhnya.
Pertimbangan Penting:
Apabila menggunakan rangka kerja untuk mengakses $ Pembolehubah _SERVER['REMOTE_ADDR'], adalah penting untuk mengesahkan sama ada ia memeriksa pengepala X-HTTP-FORWARDED-FOR. Jika tidak, menjadi remeh bagi penyerang untuk memalsukan alamat IP mereka dengan hanya menghantar pengepala dengan nilai tertentu.
Edit: Contoh Berkaitan
Dalam baru-baru ini catatan blog, penulis menyerlahkan kelemahan dalam aplikasi StackOverflow yang mengeksploitasi mekanisme yang serupa dengan pemalsuan alamat IP. Ini berfungsi sebagai demonstrasi praktikal tentang kaitan dan potensi kesan manipulasi sedemikian.
Atas ialah kandungan terperinci Bolehkah $_SERVER['REMOTE_ADDR'] ditipu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!