可靠地检测本地客户端,服务器端

问题描述 投票:1回答:1

我正在Karaf中构建Java网络服务器。我想知道http调用是否源自同一台计算机(=是本地计算机)。到目前为止,RefererHost之类的Http标头在这方面对我有帮助。

策略是查看标题中出现的URL是否读取localhost

这种方法有什么危险?还有更安全的方法吗?

java-ee apache-karaf
1个回答
0
投票

[amon在他的评论中指出,可靠的方法是使用javax.servlet.http.HttpServletRequest

javax.servlet.http.HttpServletRequest

使用上下文注释将HttpServletRequest注入您的代码:

import javax.ws.rs.core.Context;
import javax.servlet.http.HttpServletRequest; 

然后使用对象从两个之一获取地址:

@Context private HttpServletRequest req;

[LOG.info("{}", req.getRemoteHost()); LOG.info("{}", req.getRemoteAddr()); ]的答案帮助我提供了细节。

© www.soinside.com 2019 - 2024. All rights reserved.