使用tuckey-urlrewrite-filter rermote-addr阻止IP

时间:2014-11-27 10:39:19

标签: java linux tomcat tomcat7 tuckey-urlrewrite-filter

我正在尝试使用UrlRewriteFilter 4.0.3阻止IP到我的应用程序的某些部分。但无论我尝试什么,我都无法让它发挥作用。有人可以帮忙吗?

我已将urlrewritefilter-4.0.3.jar添加到 - / var / lib / tomcat7 / webapps / myapp / WEB-INF / lib中 我在/ var / lib / tomcat7 / webapps / myapp / WEB-INF /中添加了urlrewrite.xml。

我已将以下行添加到/ var / lib / tomcat / webapps / myapp / WEB-INF /中的web.xml中:

<filter>
         <filter-name>UrlRewriteFilter</filter-name>
            <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>

            <init-param>
                <param-name>confReloadCheckInterval</param-name>
                <param-value>0</param-value>
            </init-param>

            <init-param>
        <param-name>statusEnabled</param-name>
        <param-value>true</param-value>
            </init-param>
            <init-param>
                <param-name>logLevel</param-name>
                <param-value>DEBUG</param-value>
            </init-param>
            <init-param>
                <param-name>statusEnabledOnHosts</param-name>
                <param-value>localhost</param-value>
            </init-param>
     </filter>
    <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

已写入以下条件并将其放在urlrewrite.xml

 <rule>
    <condition type="remote-addr">^123\.123\.42\.36$</condition>
    <from>/myapp/login*</from>
    <set type="status">403</set>
    <to>null</to>
    </rule>

我认为这样做会阻止IP访问我的应用程序的/ myapp / login部分,但它不起作用。

关于如何绕过这个的任何建议都会非常感激,因为我只想阻止个人IP范围到我的应用程序的某些部分。

由于 奥利

2 个答案:

答案 0 :(得分:0)

我几个月前也有同样的问题。

我认为此链接很有用。

Tomcat 7 Ip Filter

希望得到这个帮助。

干杯。

答案 1 :(得分:0)

  1. <from>^/login*</from>
  2. <to last="true">null</to>
  3. 此外,您可以在web.xml中配置org.apache.catalina.filters.RemoteAddrFilter过滤器。 http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Remote_Address_Filter