我有一个用Java编写的服务器端应用程序。
我们使用Jetty来提供我们的servlet。
最终用户使用浏览器“使用”我们的应用。
从服务器端的角度来看,当我得到HttpServletRequest
时,是否可以从与服务器安装在同一台机器上运行的浏览器中知道它?
(我正在测试这种情况,我想对此做点什么)
答案 0 :(得分:1)
您可以使用ServletRequest.getRemoteHost()
返回发送请求的客户端的完全限定名称,并将其与本地主机名InetAddress.getLocalHost().getCanonicalHostName()
进行比较
答案 1 :(得分:0)
我猜您可以检查请求的IP地址是否与服务器相同,或者是否来自localhost?
我想这可以提供帮助:
String getRemoteIP(HttpServletRequest request) {
String xff = request.getHeader("X-Forwarded-For");
if (xff != null) {
return xff.split("[\\s,]+")[0];
}
return request.getRemoteAddr();
}
将此地址与服务器的地址进行比较。
我从here
获取了此代码