使用Java检测网站访问者IP地址是否有简单可靠的方法。我正在尝试利用Akismet在我的博客帖子/评论中检测垃圾邮件。 API要求我指定评论者的IP地址。
谢谢=)
答案 0 :(得分:4)
致电ServletRequest.getRemoteAddr()应该这样做。
答案 1 :(得分:3)
ServletRequest.getRemoteAddr()
在最简单的场景中执行此操作。如果您位于负载均衡器后面,则可能需要查看X-Forwarded-For标头,因为getRemoteAddr()
将是负载均衡器的地址。它是以逗号分隔的IP编号列表,其中最后一个是连接到负载均衡器的地址。最后一个地址是您唯一可以信任的地址(因为它将由负载均衡器添加),其他地址可能是欺骗性的。
答案 2 :(得分:1)
如果您在服务器端使用JSP,那么您可以查看以下链接: http://www.rgagnon.com/javadetails/java-0363.html
如果您使用的是servlet,则可以使用HttpServletRequest.getRemoteAddr()
答案 3 :(得分:0)
问题流量大约有80%的人会努力确保他们不工作 - 我看到的每个站点都停留在使用某种人类不得不思考的身份验证,IPV4是不变的来源欺骗,入侵和新闻报道(你想要远离它们)IPv6通过工程级工作来处理这个问题。
那时,我认为他们将转向使用人体盾牌或其他东西。