StudioがiFrameで表示されないようにする方法

StudioでiFrameの表示を許可することで、クリックジャック(エンド・ユーザーが本物のリンクをクリックしているつもりでも、実際は攻撃者によって設定されたアクションを実行している)の危険性が高まります。

Studioでは、StudioをiFrame内で表示可能にするかどうかを制御するために、portal-ext.propertiesに設定が用意されています。

com.liferay.portal.servlet.filters.security.EndecaIFrameFilter.mode=SAMEORIGIN
com.liferay.portal.servlet.filters.security.EndecaIFrameFilter.javascriptFilter=false
設定 説明
com.liferay.portal.servlet.filters.security.EndecaIFrameFilter.mode レスポンス・ヘッダーのパラメータX-Frame-Optionsを設定するEndecaIFrameFilterを有効にします。選択可能な値は次のとおりです。
  • SAMEORIGIN: これはデフォルトです。フレームは、同じドメイン内でのみ使用できます。

    Internet Explorerでは、異なるポート番号を使用する同じドメインも、同じドメインとみなされることに注意してください。

  • DENY: フレームをまったく使用できないことを示します。
  • ALLOW-FROM <domain>: 指定したドメインのフレームのみを使用できます。

    このオプションはお薦めしません。サポートが十分でなく、ブラウザによって大きく異なります。

com.liferay.portal.servlet.filters.security.EndecaIFrameFilter.javascriptFilter trueに設定した場合、フレームの使用はサポートされません。

この設定は、ブラウザでX-Frame-Optionsをサポートしない場合にもフレームが確実に使用されないようにするために使用できます。

デフォルトでは、Studioは、同じドメインで発行された場合にiFrameの使用を許可します。iFrameでStudioが完全に表示されないようにするには、次を実行します。