У меня есть страница в моем 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. Любые мысли и вклады будут высоко оценены.