消除" X-Powered-By"标题自动消除" Server"来自HTTP响应的标头

时间:2016-12-29 09:40:33

标签: javascript node.js http httpresponse helmet.js

我正在使用helmet NPM模块来摆脱X-Powered-By但不确定Server标头。我已阅读Remove headers for security但不确定如何使用Server模块删除helmet标头。

1 个答案:

答案 0 :(得分:0)

简而言之:Helmet不会触及Server标题。

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

据我所知,

Express也没有设置Server标题。这意味着这个标题来自其他地方,可能是服务器“在你的Express服务器前”,比如nginx。

你可以试试这样的东西,但是如果你的服务器前面有某些东西,这可能不起作用。

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

在我看来,删除这些标题的安全性好处是最小的。它阻止了一小部分攻击者:那些查看这些标题以找出技术为您的网站提供动力,尝试一些攻击,然后放弃的人。攻击者还有其他迹象表明您的网站是Express漏洞。他们也可能会尝试非特定于Express的攻击。或者他们可能会尝试快速攻击,即使他们不确定它是快递!道格威尔逊,Express的主要维护者,shares this sentiment