Java 如何使用Tomcat';CSRFS预防过滤器?
在我的Tomcat 6.0.xx上,Tomcat的CSRFPrevention过滤器工作正常。我现在想将一个页面列为白名单(,也就是说,使其免于应用于它的过滤器)。在Java 如何使用Tomcat';CSRFS预防过滤器?,java,jsp,tomcat,Java,Jsp,Tomcat,在我的Tomcat 6.0.xx上,Tomcat的CSRFPrevention过滤器工作正常。我现在想将一个页面列为白名单(,也就是说,使其免于应用于它的过滤器)。在web.xml中的下,我有许多URL模式,其中之一是: /secure/* 此URL模式包含约50个JSP页面。然而,我想把这50页中的一页列为白名单。我希望不必将其他49个页面全部添加到web.xml。是否只需将一个页面列入白名单?尝试init paramparamentryPoints跳过url,这里是home。对多个URL使用
web.xml
中的
下,我有许多URL模式,其中之一是:
/secure/*
此URL模式包含约50个JSP页面。然而,我想把这50页中的一页列为白名单。我希望不必将其他49个页面全部添加到
web.xml
。是否只需将一个页面列入白名单?尝试init param
paramentryPoints
跳过url,这里是home
。对多个URL使用csv:
<filter>
<filter-name>CsrfFilter</filter-name>
<filter-class>org.apache.catalina.filters.CsrfPreventionFilter</filter-class>
<init-param>
<param-name>entryPoints</param-name>
<param-value>/home</param-value>
</init-param>
</filter>
CsrfFilter
org.apache.catalina.filters.CsrfPreventionFilter
入口点
/家
属性:入口点
描述:将不测试以逗号分隔的URL列表
用于显示有效的nonce。它们被用来提供一种
在导航离开后导航回受保护的应用程序
从它。入口点将限于HTTP GET请求,应该
不会触发任何安全敏感操作
(来源:)在您的特定问题案例中,您仅排除1项
<filter>
<filter-name>CSRFPreventionFilter</filter-name>
<filter-class>org.apache.catalina.filters.CsrfPreventionFilter</filter-class>
<init-param>
<param-name>entryPoints</param-name>
<param-value>/secure/foo.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CSRFPreventionFilter</filter-name>
<url-pattern>/secure/*</url-pattern>
</filter-mapping>
防止过滤器
org.apache.catalina.filters.CsrfPreventionFilter
入口点
/secure/foo.jsp
防止过滤器
/稳妥/*
为了通用性,我举了一个例子,排除2个JSP页面和1个CSS文件,在顶级web应用程序目录中设置过滤器。
<!-- CSRF Prevention Filter -->
<filter>
<filter-name>CSRFPreventionFilter</filter-name>
<filter-class>org.apache.catalina.filters.CsrfPreventionFilter</filter-class>
<init-param>
<param-name>entryPoints</param-name>
<param-value>/web/pages/foo.jsp,/web/pages/bar.jsp,/web/en_US/css/style.css</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CSRFPreventionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
防止过滤器
org.apache.catalina.filters.CsrfPreventionFilter
入口点
/web/pages/foo.jsp、/web/pages/bar.jsp、/web/en_US/css/style.css
防止过滤器
/*
阅读更多:将有助于清楚地解决问题