2015-10-05 827 views
2

我试图在Tomcat中启用HttpHeaderSecurityFilter筛选器以对抗点击攻击。我希望这适用于所有应用程序,所以在Tomcat自己的conf/web.xml文件中,未过滤此过滤器的默认<过滤器>和<过滤器映射>条目。在conf/web.xml中忽略Tomcat HttpHeaderSecurityFilter筛选器条目

虽然我可以告诉Tomcat,但这似乎完全被忽略。为了在将conf/web.xml文件与应用程序自己的文件合并后,查看Tomcat为应用程序使用的有效web.xml文件,我在其中一个Web应用程序中添加了META-INF/context.xml文件。

<?xml version="1.0" encoding="utf-8" standalone="no"?> 
<Context logEffectiveWebXml="true"></Context> 

在catalina.log,输出结果有效(这两个文件的内容合并),不同的是从的conf/web.xml中过滤条目缺失。我试图在那里介绍自己的附加过滤条目,并发现这些条目也不会出现在有效的web.xml中。

如果我的HttpHeaderSecurityFilter过滤器和过滤器映射条目复制到Web应用程序本身的web.xml文件,它工作正常(但这显然不是我想要的!)

有一些诀窍使Tomcat的尊重conf/web.xml中的过滤条目?

我最终需要这在Tomcat中7和8这两个工作(我知道内置过滤器仅在Tomcat的7.0.63添加。)

回答

0

最终,这个过滤器开始工作对我来说没有任何特别的变化(非常令人不满意的决议,但是......)。从一开始就有一些可能性,尽管我相当确定我已经观察到页面已成功加载到iframe中并且最初使用了过滤器。现在不确定。

其他人可能有用的发现是,有效的web.xml日志输出从未包含过滤器细节,即使我能够验证过滤器是否正常工作。这似乎是某种Tomcat错误。 (注意,我只测试了Tomcat 8上的有效web.xml日志记录。)