<?php
namespace App\EventSubscriber;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\ResponseEvent;
use Symfony\Component\HttpKernel\KernelEvents;
class HttpHeaderSubscriber implements EventSubscriberInterface
{
public function onKernelResponse(ResponseEvent $event): void
{
$response = $event->getResponse();
$format = $event->getRequest()->getRequestFormat();
$headers = $response->headers;
$headers->set('X-Content-Type-Options', 'nosniff');
$headers->set('X-Frame-Options', 'SAMEORIGIN');
$headers->set('X-XSS-Protection', '1; mode=block');
// $headers->set('Content-Security-Policy', "script-src 'self' https://www.google.com");
if ('html' === $format) {
$headers->set('X-UA-Compatible', 'ie=edge');
}
}
public static function getSubscribedEvents(): array
{
return [
KernelEvents::RESPONSE => [['onKernelResponse', 1]],
];
}
}