Masalah:
Anda menghadapi KeyError semasa cuba mendapatkan semula alamat IP pengguna menggunakan permintaan.META['REMOTE_ADDR'].
Analisis:
Alamat jauh dikembalikan melalui permintaan.META['REMOTE_ADDR'] mungkin bukan IP pengguna sebenar jika proksi terbalik terlibat.
Penyelesaian:
Untuk mendapatkan alamat IP pengguna dengan tepat, ikut langkah berikut:
<code class="python">def get_client_ip(request): x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: ip = x_forwarded_for.split(',')[0] else: ip = request.META.get('REMOTE_ADDR') return ip</code>
<code class="python">client_ip = get_client_ip(request)</code>
Pertimbangan:
Atas ialah kandungan terperinci Bagaimana Cara Mendapatkan Alamat IP Pengguna dengan Tepat di Django dengan Proksi Terbalik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!