据我从你的问题中了解到,你使用Apache Tomcat
作为网络服务器。在这种情况下使用远程地址过滤器 http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Remote_Address_Filter通过IP地址限制访问。它允许将请求客户端的 IP 与正则表达式进行比较,以根据比较结果允许或阻止请求。
如果你使用Tomcat 7 http://tomcat.apache.org/tomcat-7.0-doc/你需要使用类远程地址过滤器 http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/filters/RemoteAddrFilter.html并在应用程序的配置文件中定义必要IP的正则表达式web.xml
:
<filter>
<filter-name>Remote Address Filter</filter-name>
<filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class>
<init-param>
<param-name>allow</param-name> <!-- or deny -->
<param-value>10\.10\.1[12]\..*</param-value> <!-- regexp for your ip adress -->
</init-param>
</filter>
<filter-mapping>
<filter-name>Remote Address Filter</filter-name>
<url-pattern>*/admin</url-pattern> <!-- the url of your admin page -->
</filter-mapping>
您可以使用硬编码的特定 IP 地址或正则表达式模式。但在某些情况下,正则表达式为您在地址验证方面提供了很大的灵活性。
如果你使用6 http://tomcat.apache.org/tomcat-6.0-doc/ or 5 http://tomcat.apache.org/tomcat-5.5-doc/您需要使用类的 Tomcat 版本远程地址阀 http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/valves/RemoteAddrValve.html并在 Tomcat 的配置文件中定义以下行server.xml
:
<Valve className=”org.apache.catalina.valves.RemoteAddrValve” allow=”10\.10\.1[12]\..*”/>
or
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
deny="86.57.158.37, 213.117.195.*, 124.86.42.*" />
有关更多信息.
以及有趣的文章使用 Tomcat 保护管理 Web 应用程序 http://thelowedown.wordpress.com/2010/08/07/tomcat6-securing-the-administrative-webapps/.
顺便说一句,不拒绝来自的请求很方便localhost
供测试用。所以添加是有意义的127\.0\.0\.1
您允许的 IP 地址范围。
但不要忘记,在某些情况下,可以使用代理服务器来绕过 IP 封锁。还应用登录身份验证以获得更好的安全性。