X-Frame-Options 'deny' im Core / Ändern?

In der Datei www/vendor/shopware/core/Framework/Routing/CoreSubscriber.php werden die X-Frame-Options fest auf „deny“ gesetzt - ärgerlich, wenn man diese z.B. auf „sameorigin“ ändern will. Ein entsprechender Eintrag in der Nginx Config wird nur zusätzlich hinzugefügt, das deny überschreibt dies aber.

Jemand eine Idee, wie man dies anderweitig überschreiben kann?

Neuen Subscriber drüber bügeln mit same-origin :grin:

1 „Gefällt mir“

Falls die Lösung per Subscriber jemanden interessiert:

Zunächst einen eigenen Subscriber erstellen auf Basis der Doku (Listening to events - Shopware Developer).

Beispiel für die Anpassung der X Frame Options in der Subscriber Klasse:

use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\ResponseEvent;

class CustomCoreSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents(): array
    {
        return [
            KernelEvents::RESPONSE => 'setCustomXFrameOptions',
        ];
    }

    public function setCustomXFrameOptions(ResponseEvent $event)
    {
        $response = $event->getResponse();
        $response->headers->set('X-Frame-Options', 'same-origin');
    }
}
3 „Gefällt mir“

Würde mich gern daran probieren. Ich habe ein Plugin erstellt, einen Subscriber erstellt und die Anpassung der X-Frame-Options in die Subscriber Klasse eingefügt.

Wenn ich den cache lösche kommt folgende Fehlermeldung:

In RegisterListenersPass.php line 151:
                                                                                                                               
  Class "TestPlugin\Subscriber\MySubscriber" used for service "TestPlugin\Subscriber\MySubscriber" cannot be found.  

Was mache ich falsch?

Viele Grüße

@hlkbrln Hat deine Klasse MySubscriber auch namespace TestPlugin\Subscriber;?