0

Tomcat サーバーの context.xml に Valve を追加して、一部の IP アドレスを許可または拒否できることを知っていました。

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1" denyStatus="403" />

上記の設定以外に、IP 制限を設定できる他の方法はありますか?

たとえば、テキスト ファイルまたはデータベースを使用して、IP 制限の提案用に IP アドレスを保存できますか?

どうもありがとうございました!!!

4

1 に答える 1

2

Tomcat のリモート アドレス フィルタを動的に登録できます。

http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Remote_Address_Filter

次のようになります。

@WebListener
public class MyServletContextListener implements ServletContextListener {
  @Override
  public void contextInitialized(ServletContextEvent sce) {
    // Get IP addresses from the DB or text file.
    ...

    ServletContext sc = sce.getServletContext();
    FilterRegistration fr;
    fr = sc.addFilter("RemoteAddrFilter", "org.apache.catalina.filters.RemoteAddrFilter");
    fr.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "/*");
    fr.setInitParameter("allow", "127\\.0\\.0\\.1");
    fr.setInitParameter("denyStatus", "403");
  }
}
于 2013-07-08T04:12:49.440 に答える