ユーザ用ツール

サイト用ツール


servlet:checkipaddress

04. 接続元IPチェック

https://qiita.com/pilot/items/11efce99be33f17f5bc3 を参照。

CDN なんかを経由すると x-forward-for 使わないとIPアドレスが分からなかったりする。

なので、2つのメソッドを使う。

x-forward-for で取得できなかったら getRemoteAddr() の IP アドレスを使う。

というようにしている。

public void doGet(HttpServletRequest req, HttpServletResponse res) 
        throws IOException, ServletException {
 
  String aaa = req.getRemoteAddr();
  String bbb = req.getHeader("x-forward-for");
 
  PrintWriter out = res.getWriter();
  out.println("getRrmoteAddr : " + aaa);
  out.println("x-forward-for : " + bbb);
}

ローカル環境での動作結果

getRrmoteAddr : 127.0.0.1
x-forward-for : null

servlet/checkipaddress.txt · 最終更新: 2022/10/14 10:08 by hohog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki