java - 在 Java Web 服务中支持基于 IP 的白名单

标签 java http security

我想在 Java Web 服务之一中支持基于 IP 的白名单。为了实现这一点,我编写了一个 servlet 过滤器,在其中验证远程机器 IP 是否属于白名单 ip。为了确定远程机器 IP,我使用以下代码:-
String ipAddress = httpServletRequest.getRemoteAddr();
我想知道是否有方法可以让攻击者在不进入远程计算机的情况下模拟远程计算机 IP。如果是,那么是否有更好的安全方法来确定远程 IP?

最佳答案

有一种方法,但是,这不是一个简单的方法,请参阅此 answer了解更多详情。

请记住,如果您将应用程序部署在代理或 CDN 后面,则 httpServletRequest.getRemoteAddr() 不会有任何好处。在这种情况下,您必须检查 X-FORWARDED-FOR header ,然后很容易伪造它。

关于java - 在 Java Web 服务中支持基于 IP 的白名单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53587194/

相关文章:

java - 在 Java 中从 Base 64 字符串转换

java - jsp pageEncoding 和 ContentType

java - XML 设计编辑器错误

HTTP 请求跟踪

c# - C#中的文件上传HTTP PUT

java - 我们可以在生产中使用 CrossOrigin *(通配符)吗

java - 管理 struts 2 中单一操作的不同方法

javascript - Angular JS 双重请求

c++ - SSL_CTX_set_cipher_list() 没有影响

java - Java 中的 Socket 和 ObjectInputStream - Android