Java 如果请求来自,是否可以获取域或ip地址?
我试图通过检查请求中的域或ip地址,并将其与保存在数据库中的域进行比较,从而在控制器中设置安全性。但是我在如何获取客户端ip地址方面遇到了一个问题。我正在使用SpringBootJava。有人知道怎么做吗?这可能会有帮助Java 如果请求来自,是否可以获取域或ip地址?,java,ajax,spring-boot,security,Java,Ajax,Spring Boot,Security,我试图通过检查请求中的域或ip地址,并将其与保存在数据库中的域进行比较,从而在控制器中设置安全性。但是我在如何获取客户端ip地址方面遇到了一个问题。我正在使用SpringBootJava。有人知道怎么做吗?这可能会有帮助 public static String getRequester(HttpServletRequest request) { String forwardHeader= request.getHeader("X-Forwarded-For"); if (for
public static String getRequester(HttpServletRequest request) {
String forwardHeader= request.getHeader("X-Forwarded-For");
if (forwardHeader == null) {
return request.getRemoteAddr();
} else {
return new StringTokenizer(forwardHeader, ",").nextToken().trim();
}
}
参考文献2-
参考文献1-您是否尝试过
HttpServletRequest.getRemoteAddr()
?是的,但是如果我们在cmd中使用ipconfig检查执行请求的PC的ip地址,则比较它是不同的。请注意,如果中间有一个代理,您很可能会得到该代理的ip地址。原始客户端ip可以在头中找到-如果它是由代理设置的。啊,非常感谢,我已经尝试过了,但它返回null。你有一个示例代码吗?让我们知道你尝试了什么。我们告诉你会容易得多。