src/EventSubscriber/ContentSecurityPolicySubscriber.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  4. use Symfony\Component\HttpKernel\Event\ResponseEvent;
  5. use Symfony\Component\HttpKernel\KernelEvents;
  6. class ContentSecurityPolicySubscriber implements EventSubscriberInterface
  7. {
  8.     public static function getSubscribedEvents(): array
  9.     {
  10.         return [
  11.             KernelEvents::RESPONSE => 'onKernelResponse',
  12.         ];
  13.     }
  14.     public function onKernelResponse(ResponseEvent $event): void
  15.     {
  16.         if (!$event->isMainRequest()) {
  17.             return;
  18.         }
  19.         $response $event->getResponse();
  20.         
  21.         // Ustaw własny CSP z 'unsafe-eval' dla script-src
  22.         $response->headers->set(
  23.             'Content-Security-Policy',
  24.             "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https:;"
  25.         );
  26.     }
  27. }