Java Playframework从服务器获取客户端IP,但不是从Cookie获取
我想获得客户端IP。 基于这个IP,我想给一个访问应用程序。 目前,我正在使用以下代码从Cookie获取IP:Java Playframework从服务器获取客户端IP,但不是从Cookie获取,java,ip,netty,playframework-2.2,server,Java,Ip,Netty,Playframework 2.2,Server,我想获得客户端IP。 基于这个IP,我想给一个访问应用程序。 目前,我正在使用以下代码从Cookie获取IP: /** * Gets the ip. * * @return the ip */ public static String getIP() { return Request play.mvc.Controller.request().remoteAddress(); } 但它是不安全的,因为用户可以很容易地更改它 所以我想从服务器连接中获取物理IP地址,而不是从coo
/**
* Gets the ip.
*
* @return the ip
*/
public static String getIP() {
return Request play.mvc.Controller.request().remoteAddress();
}
但它是不安全的,因为用户可以很容易地更改它
所以我想从服务器连接中获取物理IP地址,而不是从cookie中获取这个地址
我怎样才能做到这一点?请帮忙。这不是饼干。。。无论如何,我能想到的最简单的解决办法是。。。将应用程序隐藏在某个轻型HTTP服务器下作为代理,并使用其访问限制规则,好处如下:
- light server不应该成为瓶颈,因为它专门用于此项工作
- 黑客试图绕过这些限制,可能是因为他们意识到了一些技巧和黑客
- 被拒绝的IP甚至不会进入你的应用程序,所以你在节省资源
- 它通常有助于解决其他几个任务
1.2.3.4123.123.123.123
所以不管怎样,你都可以捕获坏的IP…我已经测试过了。我可以在linux shell中使用以下命令轻松更改ip地址:
curl--header“X-Forwarded-For:1.2.3.4”“localhost:9000”
您是在客户端/服务器之间进行相互身份验证还是在受信任/封闭的环境中运行?基于客户端IP的身份验证/访问控制听起来可能会给您带来麻烦。欺骗HTTP头很容易,而且几乎可以在所有其他级别上欺骗。我曾考虑过这个解决方案,但不确定。谢谢你的帮助。我将实施它。