我正在使用helmet
NPM 模块来摆脱X-Powered-By
但不确定Server
标题。我已阅读Remove headers for security但不确定如何Server
使用helmet
模块删除标头。
user4408375
问问题
465 次
1 回答
0
简而言之:头盔不接触Server
头部。
Server
我维护 Helmet,其中没有任何内容以某种方式涉及标题。如果 header 没有设置,Helmet 不会设置它;如果设置了标题,Helmet 不会删除它。
Server
据我所知,Express 也没有设置标题。这意味着此标头来自其他地方,可能是您的 Express 服务器“前面”的服务器,例如 nginx。
你可以尝试这样的事情,但如果你的服务器“前面”有东西,这可能不起作用。
app.use(function (req, res, next) {
res.removeHeader('Server');
next();
});
在我看来,删除这些标头的安全性好处是微乎其微的。它阻止了一小部分攻击者:那些查看这些标头以找出为您的网站提供支持的技术,尝试一些攻击,然后放弃的人。攻击者还有其他迹象表明您的网站存在 Express 漏洞。他们也可能尝试非 Express 特定的攻击。或者他们可能会尝试 Express 攻击,即使他们不确定是 Express!Express 的主要维护者 Doug Wilson 也有同样的看法。
于 2016-12-29T16:28:09.723 回答