在最近的一个学习项目中,我使用三个 Express.js 应用程序将项目分成更易于管理的部分。
一个应用程序是“主要”应用程序,即侦听连接的应用程序。另外两个安装在主应用程序的特定路线上。
调用app.disable('x-powered-by');
主应用程序来禁用 X-Powered-By 标头是否足够,或者这是否需要在每个已安装的应用程序中完成?
同样,我正在考虑使用 Helmet.js 来尝试为整个项目添加一些额外的安全性。在主应用程序中包含来自 Helmet.js 的任何中间件是否足够,或者这些也需要在挂载的应用程序中定义?
我不觉得我理解某些设置和中间件如何影响已安装的 Express.js 应用程序,并且希望任何有更多经验的人提供进一步的解释。
编辑:在使用app.disable('x-powered-by')
并检查来自服务器的响应之后,如果我没有在主应用程序实例和任何已安装的应用程序实例中禁用它,则会出现 X-Powered-By 标头。因此,我假设 Helmet.js 中间件的运行方式相同,但我不是 100% 确定。谁能确认这是否是预期的行为?