我正在使用helmet
NPM模块来摆脱X-Powered-By
但不确定Server
标头。我已阅读Remove headers for security但不确定如何使用Server
模块删除helmet
标头。
答案 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。