gpt4 book ai didi

java - 关于一种基于IP地址过滤访问网页的方法

转载 作者:行者123 更新时间:2023-11-28 22:56:37 28 4
gpt4 key购买 nike

我正在管理一个提供 Web 管理页面并与客户端应用程序通信的服务器。我设计了允许公众通过 80 端口访问的 Web 部件。但是,我的客户告诉我,他们希望服务器只允许从公司内部以外的内部网络进行访问。我想如果Tomcat有能力根据IP地址过滤对网页的访问就可以做到。但是,我最终未能找到合适的解决方案。我知道Tomcat已经根据一个web项目提供了过滤功能。我想出了一种解决这个问题的方法,并按如下方式使用它:我在 server.xml 中制作了两个服务标签,例如

<Service name="Catalina"> 
<Connector port="80" ...>

<Service name="Catalina2">
<Connector port="8080" ...>

并为附加服务制作另一个克隆。然后,我通过防火墙设置阻止所有通过 8080 端口的外部访问。这符合我客户的需求。但是,我想这不是一种常见的方式。甚至有时,该设置允许不应该发生的外部访问。最重要的是,从维护的角度来看,这不是一种有效的方法。

反正我不喜欢。如果有人告诉我方法,将不胜感激。感谢您阅读问题。

最佳答案

IP 过滤的第一步是配置您的防火墙/路由器。

您还可以通过创建 javax.servlet.Filter 在 Servlet 容器中实现简单的 IP 过滤.

您可以使用通配符 (*) 映射过滤器,让所有请求都通过它,在过滤器中,您可以检查客户端的 IP 并根据您自己的规则阻止/拒绝服务请求。

Tomcat 还带有一些内置的过滤器。你可能想看看它们:

Apache Tomcat 8 Container Provided Filters

内置过滤器包括 Remote Address Filter , Remote Host FilterRemote IP Filter (对于代理)。这些大多可以使用正则表达式进行配置,可能足以满足您的需求。

关于java - 关于一种基于IP地址过滤访问网页的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25637433/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com