Ich habe eine Java-Servlet-Anwendung in Tomcat läuft, es gibt einen Admin-Befehl, von dem ich nur ausführen möchte die Maschine selbst (oder möglicherweise auch mein eigener PC) aus Sicherheitsgründen. Also, dies zu erzwingen prüfe ich die Remote-Adresse des HttpServletRequest, dass ich erhalten, aber es gibt immer 127.0.0.1 obwohl die Anforderung nicht von dem lokalen Host kommtWarum ist request.getRemoteAddr(). Gleich ("127.0.0.1") beim Zugriff von einem Remote-Rechner
Warum dies ist, kann ich es beheben oder gibt es eine alternative Möglichkeit, meinen Admin-Befehl nur vom Server auszuführen.
Können Sie bitte etwas von Ihrem Code einfügen und erklären, wo Sie diese Überprüfung durchführen möchten? – Scis
Gibt es etwas vor dem Tomcat auf dem Rechner, auf dem es läuft (z. B. nginx), der die Anfrage weiterleitet? Werfen Sie einen Blick auf den Header "X-Forwarded-For". –
@Jonas Adler, danke ja der x-forwarded-for-Wert, wenn ich vom Server im Gegensatz zu meinem Homepc läuft, ist anders (obwohl der Wert, wenn ich von meinem PC zu Hause nicht meine Heimat PC-Adresse läuft) so denke ich sollte ich Überprüfen Sie stattdessen den Wert x-forwarded-for und beschränken Sie den Zugriff auf meinen Server-Computer. –