3 namespace BookStack\Http\Middleware;
5 use BookStack\Util\CspService;
7 use Illuminate\Http\Request;
15 protected $cspService;
17 public function __construct(CspService $cspService)
19 $this->cspService = $cspService;
23 * Handle an incoming request.
25 * @param Request $request
26 * @param Closure $next
30 public function handle($request, Closure $next)
32 view()->share('cspNonce', $this->cspService->getNonce());
33 if ($this->cspService->allowedIFrameHostsConfigured()) {
34 config()->set('session.same_site', 'none');
37 $response = $next($request);
39 $this->cspService->setFrameAncestors($response);
40 $this->cspService->setScriptSrc($response);