Web ページにアクセスしているクライアントの IP アドレスを知りたいです。
JSP ページの内容:
<%
out.print( request.getRemoteAddr() + "<br>");
out.print( request.getRemoteHost() );
%>
出力:
0:0:0:0:0:0:0:1
0:0:0:0:0:0:0:1
Web ページにアクセスしているクライアントの IP アドレスを知りたいです。
JSP ページの内容:
<%
out.print( request.getRemoteAddr() + "<br>");
out.print( request.getRemoteHost() );
%>
出力:
0:0:0:0:0:0:0:1
0:0:0:0:0:0:0:1
あなたの方法は正しいです。localhost でアクセスしているため、ループバック インターフェイスにアクセスしていると仮定します。表示されている数字は、ループバック インターフェイスの IPv6 IP アドレスです。
別のマシンからヒットしようとしています。
<%
out.print( request.getRemoteAddr() );
out. print( request.getRemoteHost() );
%>
request.getRemoteAddr()
jsp ページにアクセスしたマシンの IP アドレスを返します。request.getRemoteHost()
jsp ページにアクセスしているホストの名前を返します。サーバー自体からアクセスすると、サーバー名が返されます。クライアントがプロキシの背後にある場合、クライアントが背後にあるプロキシの IP を取得するため、上記は役に立ちません。代わりに、次を試してください。
<%
out.print( request.getHeader("x-forwarded-for") );
%>