Как разрешить отображать только одну страницу v ie iframe? - PullRequest
1 голос
/ 21 апреля 2020

У меня есть страница в моем Laravel проекте, которую мне нужно сделать доступной для использования в iframe. Не все приложение, а только одна отдельная страница, доступная для фрейминга внутри только одного доверенного домена.

Я узнал, что Laravel имеет промежуточное программное обеспечение, которое защищает все приложение от отображения через iframe, которое называется FrameGuard

class FrameGuard
{
    public function handle($request, Closure $next)
    {
        $response = $next($request);

        $response->headers->set('X-Frame-Options', 'SAMEORIGIN', false);

        return $response;
    }
}

Но это промежуточное ПО, а не файлы проекта так что не могу это изменить. Даже если бы я решил изменить его, мне пришлось бы изменить метод дескриптора на

public function handle($request, Closure $next)
    {
        $response = $next($request);

        //$response->headers->set('X-Frame-Options', 'ALLOW-FROM' https://example.com);  obsolate

        $response->headers->set('Content-Security-Policy' frame-ancestors 'self' https://www.example.com);

        return $response;
    }

Поскольку теперь у него другой заголовок, это будет причиной каких-либо проблем в будущем? Кроме того, если разрешено использовать только одну страницу в iframe с программной точки зрения, нужно ли мне изменять другие конфигурации, такие как, например, Nginx settings?

Такое ощущение, что на этом topi c не хватает информации инте rnet. Любые мысли и вклады будут высоко оценены.

...