2016-01-25 36 views
12

Dodałem poniższy fragment kodu w moim tomcat web.xml, aby zapobiec klikaniu.Opcja Xframe w tomcat 7

W sekcji, dodać wbudowanego filtra, zostały dodane

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

Dla części filtra odwzorowywania zostały dodane.

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

Po edycji i tworzenia tych dwóch zmian, strony testowej (strona HTML, gdzie próbuję otworzyć stronę docelową w <frame>) przechodzi (nie jest w stanie otworzyć stronę docelową wewnątrz ramek).
Jednak strona powitania apache daje 404 z nowymi zmianami.

Proszę dać mi znać, jeśli czegoś brakuje.

Odpowiedz

11

Też miałem ten problem z tomcat7 i dokładnie tym samym filtrem.

Pierwszą rzeczą, którą powinieneś zrobić, to sprawdzić logi tomcat pod CATALINA_BASE/logs /. Zlokalizuj i otwórz localhost.RRRR-MM-DD.log; tam powinieneś znaleźć przyczynę błędu.

W moim pliku dziennika miałem ten błąd:

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

I wtedy okazało się, że HttpHeaderSecurityFilter został nowo dodany w wersji Tomcat 7.0.63 (see here), ale został uruchomiony w wersji 7.0.52 (jeden który pochodzi z Ubuntu 14.04 LTS).

Rozwiązałem problem, instalując najnowszą wersję Tomcat, a teraz filtr działa zgodnie z oczekiwaniami.