2016-01-25 11 views
12

クリックジャックを防ぐために、tomcat web.xmlに以下のコードスニペットを追加しました。内蔵のフィルタを追加するセクションでtomcat 7のXframeオプション

、私が追加したフィルタマッピング部について

<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> 
編集後

、これら2つの変更を行う、テストページ(私は<frame>で目的のページを開くしようとしていますhtmlページ)が(フレーム内のターゲット・ページを開くことができません)を渡します。
しかし、Apacheのようこそページでは404に新しい変更が加えられています。

私に何かが不足している場合はお知らせください。

答えて

11

私は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(1を実行していましたUbuntu 14.04 LTSに付属しています)。

最新のTomcatバージョンをインストールすることで問題を解決しましたが、今度はフィルタが正常に動作します。