J'ai ajouté l'extrait de code ci-dessous dans mon Tomcat web.xml pour éviter le détournement de clics.
Dans la section pour ajouter un filtre intégré, j'ai ajouté
<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>
Pour la partie de filtrage, j'ai ajouté.
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
Après avoir modifié et effectué ces deux modifications, testez la page (page html où j'essaie d'ouvrir la page cible dans <frame>
) réussit (impossible d'ouvrir la page cible à l'intérieur des cadres).
Mais la page d'accueil Apache donne 404 avec les nouvelles modifications.
Veuillez me faire savoir si je manque quelque chose.
J'ai également eu ce problème avec Tomcat7 et le même filtre exact.
La première chose à faire est de vérifier les journaux Tomcat sous CATALINA_BASE/logs /. Recherchez et ouvrez localhost.YYYY-MM-DD.log; vous devriez y trouver la cause de l'erreur.
Dans mon fichier journal, j'ai eu cette erreur:
SEVERE: Exception starting filter httpHeaderSecurity
Java.lang.ClassNotFoundException: org.Apache.catalina.filters.HttpHeaderSecurityFilter
J'ai alors découvert que le HttpHeaderSecurityFilter a été nouvellement ajouté dans Tomcat version 7.0.63 ( voir ici ) mais j'utilisais la version 7.0.52 (celle qui vient avec Ubuntu 14.04 LTS).
J'ai résolu le problème en installant la dernière version de Tomcat et maintenant le filtre fonctionne comme prévu.