Drupal 8はX-Frame-Options: SAMEORIGIN
すべてのページに応答ヘッダーを追加します。これにより、コンテンツがサードパーティのサイトのiframeに含まれるのを防ぎます。
たとえば、Google画像検索で、コンテンツがプレビューフレームに表示されないことを確認できます。
この機能はdrupal 8ベータ13で導入されました。
変更記録
コアはデフォルトでクリックジャッキングから保護されるようになりました(X-Frame-Options:SAMEORIGIN)
優先度を高くする必要があるという点で正しくありません。実際、優先度を低くする必要があります。コード例は要求を変更しますが、応答を変更する必要があります。
ここでの質問に対するソリューションを提供するために、これをサービスコンテナーに配置するためのyamlファイルを含む完全なコードを示します。
mymodule/src/EventSubscriber/RemoveXFrameOptionsSubscriber.php
:
<?php
namespace Drupal\mymodule\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;
class RemoveXFrameOptionsSubscriber implements EventSubscriberInterface {
public function RemoveXFrameOptions(FilterResponseEvent $event) {
$response = $event->getResponse();
$response->headers->remove('X-Frame-Options');
}
public static function getSubscribedEvents() {
$events[KernelEvents::RESPONSE][] = array('RemoveXFrameOptions', -10);
return $events;
}
}
mymodule/mymodule.services.yml
:
services:
remove_x_frame_options_subscriber:
class: Drupal\mymodule\EventSubscriber\RemoveXFrameOptionsSubscriber
tags:
- { name: event_subscriber }