JavaでログインユーザーのIPアドレスを取得する方法は何ですか?

JavaでログインユーザーのIPアドレスを取得する方法は次のように実装できます:

  1. Servletを使用してIPアドレスを取得する方法は、HttpServletRequestオブジェクトのgetRemoteAddr()メソッドを使うことです。例えば:
  2. request.getRemoteAddr()メソッドを使用して、ipアドレスを取得します。
  3. Springフレームワークを使用してIPアドレスを取得する:Springフレームワークを使用する場合、HttpServletRequestオブジェクトを注入してユーザーのIPアドレスを取得できます。例えば:
  4. @Autowired
    private HttpServletRequest request;public String getIpAddress() {
    return request.getRemoteAddr();
    }

    @Autowired
    private HttpServletRequest request;

    public String getIpAddress() {
    return request.getRemoteAddr();
    }

注意:上記の方法で取得したIPアドレスは、最終ユーザーの実際のIPアドレスではなく、プロキシサーバーのIPアドレスかもしれません。 実際のIPアドレスを取得する必要がある場合、プロキシサーバーのHTTPヘッダー情報に含まれるX-Forwarded-ForやX-Real-IPフィールドを使用することを検討してください。 たとえば、Servlet内で実際のIPアドレスを取得するには、次の方法を使用できます。

String ipAddress = request.getHeader("X-Forwarded-For");
if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
    ipAddress = request.getHeader("X-Real-IP");
}
if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
    ipAddress = request.getRemoteAddr();
}
bannerAds