// Sets all of the defaults except for X-Frame-Options,
// which is set to "DENY" instead of its default
app.use(helmet({
frameguard: { action: 'DENY' },
}));
如果你想让Helmet完全忽略X-Frame-Options头:
// Sets all of the defaults except for X-Frame-Options
app.use(helmet({
frameguard: false,
}));
2条答案
按热度按时间3df52oht1#
我是 Helm 维修工。
首先,Helmet不足以让您的Express应用程序安全。这需要了解最佳实践,漏洞等等。Helmet只试图解决这个难题的一小部分:设置与安全相关的各种HTTP响应头。
例如,默认情况下,Helmet会将一个名为
X-Frame-Options
的头设置为SAMEORIGIN
。此头不会神奇地使您的应用安全,但它可以帮助缓解clickjacking attacks。它还会默认禁用一个名为X-Powered-By
的头,该头将在默认情况下禁用。以下是如何使用Helmet及其所有默认设置:
如果你想覆盖
X-Frame-Options
的默认值,你可以这样做:如果你想让Helmet完全忽略
X-Frame-Options
头:默认情况下,Helmet负责11个头,包括上面提到的两个。
Helmet最重要也是最难配置的头部是
Content-Security-Policy
,这里不值得深入描述;我推荐阅读MDN's introductory article。Helmet可以帮助你设置
Content-Security-Policy
头,你可以阅读更多关于on Helmet's docs的内容。这里有一个简单的例子:你还问了
Access-Control-Allow-Origin
,这是Cross-Origin Resource Sharing的一部分,Helmet不会碰它。mznpcxlj2#
你可以这样写: