2016-01-25 14 views
12

Ich habe das folgende Code-Snippet in meinem Tomcat web.xml hinzugefügt, um Clickjacking zu verhindern.Xframe-Option in Tomcat 7

Im Abschnitt eingebauten Filter hinzuzufügen, haben I

<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> 

Für Filter-mapping Teil hinzugefügt I hinzugefügt haben.

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

Nach der Bearbeitung und Herstellung dieser beiden Änderungen, Testseite (HTML-Seite, wo ich die Zielseite in <frame> zu öffnen versuche) geht (nicht in der Lage, die Zielseite innerhalb Rahmen zu öffnen).
Aber die Apache-Begrüßungsseite gibt 404 mit den neuen Änderungen.

Bitte lassen Sie mich wissen, wenn ich etwas vermisse.

Antwort

11

Ich hatte dieses Problem auch mit tomcat7 und dem exakt gleichen Filter.

Als Erstes sollten Sie die Tomcat-Protokolle unter CATALINA_BASE/logs/überprüfen. Suchen Sie und öffnen Sie localhost.YYYY-MM-DD.log; Dort solltest du die Ursache für den Fehler finden.

In meiner Log-Datei hatte ich diesen Fehler:

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

Ich fand heraus, dann, dass die HttpHeaderSecurityFilter neu in Tomcat Version 7.0.63 hinzugefügt wurden (see here), aber ich wurde mit Version 7.0.52 (die, das kommt mit Ubuntu 14.04 LTS).

Ich habe das Problem gelöst, indem ich die neueste Tomcat-Version installiert habe und nun funktioniert der Filter wie erwartet.