Problem:
Beim Versuch, die IP-Adresse des Benutzers abzurufen, tritt ein KeyError auf unter Verwendung von request.META['REMOTE_ADDR'].
Analyse:
Die von request.META['REMOTE_ADDR'] zurückgegebene Remote-Adresse ist möglicherweise nicht die tatsächliche Benutzer-IP wenn ein Reverse-Proxy beteiligt ist.
Lösung:
Um die IP-Adresse des Benutzers genau zu erhalten, befolgen Sie diese Schritte:
<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>
Überlegungen:
Das obige ist der detaillierte Inhalt vonWie erhalte ich die IP-Adresse eines Benutzers in Django mit Reverse-Proxys genau?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!