消除"X-Powered-By"标头会自动从 HTTP 响应中消除"Server"标头吗



我正在使用helmetNPM 模块来摆脱X-Powered-By但不确定Server标头。我已经阅读了删除标题以确保安全,但不确定如何使用helmet模块摆脱Server标头。

简而言之:头盔不会接触Server标题。

我维护头盔,其中没有任何内容以某种方式涉及Server标题。如果未设置标题,头盔不会设置它;如果设置了标题,头盔不会将其删除。

据我所知,Express 也没有设置Server标题。这意味着这个标头来自其他地方,可能是你的Express服务器"前面"的服务器,比如nginx。

您可以尝试这样的事情,但是如果您的服务器"前面"有东西,这可能不起作用。

app.use(function (req, res, next) {
res.removeHeader('Server');
next();
});

在我看来,无论如何,删除这些标头的安全优势微乎其微。它阻止了一小部分攻击者:那些查看这些标题以找出什么技术为您的网站提供支持的人,尝试一些攻击,然后放弃。攻击者有其他迹象表明您的网站存在 Express 漏洞。他们还可能尝试非特定于 Express 的攻击。或者他们可能会尝试Express攻击,即使他们不确定它是Express!Express的首席维护者Doug Wilson也有同感。

最新更新