使用 CI4 在 404 页面上启用 CSP

Enable CSP on 404 page with CI4

我已经在我的 App.php 配置文件中启用了内容安全策略,它在我网站的所有页面上都能正常工作。除了我是 运行 一个安全扫描器,它在 404 页上检测到它不是 运行。

我需要打开 Codeigniter 4 中的设置以便在 404 页面上启用 CSP 吗?

事实证明,如果您定义自己的 404 处理程序,那么这个问题会自动解决。

因此,解决方案是在 Config\Routes.php

中调整以下内容

$routes->set404Override('\App\Controllers\Site::error404');

然后在你的控制器中创建一个 404 处理函数(我叫我的 error404)。然而奇怪的是你必须 echo 你的观点而不是 return 它。不太清楚为什么,但这解决了我的问题。