我在tomcat web.xml中添加了以下代码段,以防止点击劫持。

在添加内置过滤器的部分中,我添加了

<filter>
    <filter-name>httpHeaderSecurity</filter-name>
    <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
    <init-param>
        <param-name>antiClickJackingOption</param-name>
        <param-value>SAMEORIGIN</param-value>
    </init-param>
</filter>


对于过滤器映射部分,我添加了。

<filter-mapping>
    <filter-name>httpHeaderSecurity</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>


编辑并进行了两项更改后,测试页(我试图在<frame>中打开目标页面的html页面)通过(无法在框架内打开目标页面)。
但是apache欢迎页面为404提供了新的更改。

如果我有任何遗漏,请告诉我。

最佳答案

我也有tomcat7和完全相同的过滤器的问题。

您应该做的第一件事是检查CATALINA_BASE / logs /下的tomcat日志。找到并打开localhost.YYYY-MM-DD.log;在那里,您应该找到错误的原因。

在我的日志文件中,出现以下错误:

SEVERE: Exception starting filter httpHeaderSecurity
java.lang.ClassNotFoundException: org.apache.catalina.filters.HttpHeaderSecurityFilter


然后,我发现HttpHeaderSecurityFilter是在Tomcat 7.0.63版(see here)中新添加的,但是我正在运行7.0.52版(Ubuntu 14.04 LTS附带的版本)。

我通过安装最新的Tomcat版本解决了该问题,现在过滤器可以按预期工作。

关于tomcat - Tomcat 7中的Xframe选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34991226/

10-09 07:57
查看更多