web-dev-qa-db-fra.com

Comment définir X-Frame-Options comme en-tête de réponse dans angularJS?

Je reçois l'en-tête X-Frame-Options dans la réponse de l'API, mais si je comprends bien afin d'empêcher l'attaque par détournement de clic, je dois l'ajouter dans le code de l'interface utilisateur. Le code d'interface utilisateur (écrit en angularjs) est déployé sur le serveur Tomcat (version 7.0.72). J'ai essayé d'ajouter les filtres ci-dessous dans le web.xml de mon application.

<filter>
        <filter-name>httpHeaderSecurity</filter-name>
        <filter-class>org.Apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
        <async-supported>true</async-supported>
        <init-param>
          <param-name>antiClickJackingEnabled</param-name>
          <param-value>true</param-value>
        </init-param>
        <init-param>
          <param-name>antiClickJackingOption</param-name>
          <param-value>DENY</param-value>
        </init-param>
    </filter>

Pourtant, je ne vois pas les en-têtes ajoutés. Quelqu'un peut-il m'aider à trouver la solution?

8
pix1289

J'ai trouvé la solution. L'en-tête de réponse X-Frame-Options doit être ajouté via web.xml sur le serveur Tomcat. Le mappage de filtre manquait dans mon web.xml, donc les en-têtes n'étaient pas ajoutés. Pour toute autre personne susceptible d'être confrontée à ce problème, je publie ici les lignes de web.xml:

<filter>
        <filter-name>httpHeaderSecurity</filter-name>
        <filter-class>org.Apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
        <async-supported>true</async-supported>
        <init-param>
          <param-name>antiClickJackingEnabled</param-name>
          <param-value>true</param-value>
        </init-param>
        <init-param>
          <param-name>antiClickJackingOption</param-name>
          <param-value>DENY</param-value>
        </init-param>
    </filter>
  <filter-mapping> 
    <filter-name>httpHeaderSecurity</filter-name> 
    <url-pattern>/*</url-pattern>
</filter-mapping>
  <welcome-file-list>
      <welcome-file>index.html</welcome-file>
  </welcome-file-list>

Avec cela, les en-têtes suivants sont ajoutés: • X-Frame-Options • X-Content-Type-Options • X-XSS-Protection

Si vous ne spécifiez pas de valeurs pour chacun de cet en-tête, la valeur par défaut pour chacun serait définie. Vous pouvez trouver les valeurs par défaut dans les documents du serveur Tomcat.

15
pix1289