如何在 create-react-app 中禁用 "X-Powered-By" 响应 header?
How to disable "X-Powered-By" response header in create-react-app?
我正在使用 Create-react-app
开发 react.js 应用程序,在响应中 headers 我看到了 Express 的 x-powered-by
header 和我想禁用这个特定的 header 字段。有没有办法做到这一点?在 Next.js
中,我们可以通过向配置文件添加一些代码来禁用此 header 字段,我们可以在我的场景中实现相同的效果吗?
React 是一个客户端框架,不会处理将您的应用程序提供给浏览器的问题。无论您使用什么系统来托管您的应用程序,都要对此负责 header。一些 CRA 模板将 webpack-dev-server
用于 npm start
,它是基于 Express 构建的,可能是显示 header 的内容。由于这实际上不是您应用程序的一部分,因此即使您可以将其关闭也没有多大意义。
我建议看一下 helmet,这将删除 x-powered-by header 并通过设置其他 http header 来增强安全性(请参阅文档。有关详细信息)
const express = require("express");
const helmet = require("helmet");
const app = express();
app.use(helmet());
app.get("/test", (req, resp) => {
resp.send('Testing with Helmet');
})
app.listen(3000);
当您使用头盔时,您会看到 X-Powered-By: Express
header 不再存在。
如果您只是想要隐藏 x-powered-by
header,我建议您尝试:
const express = require("express");
const helmet = require("helmet");
const app = express();
app.use(helmet.hidePoweredBy());
app.get("/test", (req, resp) => {
resp.send('Testing with Helmet');
})
app.listen(3000);
我正在使用 Create-react-app
开发 react.js 应用程序,在响应中 headers 我看到了 Express 的 x-powered-by
header 和我想禁用这个特定的 header 字段。有没有办法做到这一点?在 Next.js
中,我们可以通过向配置文件添加一些代码来禁用此 header 字段,我们可以在我的场景中实现相同的效果吗?
React 是一个客户端框架,不会处理将您的应用程序提供给浏览器的问题。无论您使用什么系统来托管您的应用程序,都要对此负责 header。一些 CRA 模板将 webpack-dev-server
用于 npm start
,它是基于 Express 构建的,可能是显示 header 的内容。由于这实际上不是您应用程序的一部分,因此即使您可以将其关闭也没有多大意义。
我建议看一下 helmet,这将删除 x-powered-by header 并通过设置其他 http header 来增强安全性(请参阅文档。有关详细信息)
const express = require("express");
const helmet = require("helmet");
const app = express();
app.use(helmet());
app.get("/test", (req, resp) => {
resp.send('Testing with Helmet');
})
app.listen(3000);
当您使用头盔时,您会看到 X-Powered-By: Express
header 不再存在。
如果您只是想要隐藏 x-powered-by
header,我建议您尝试:
const express = require("express");
const helmet = require("helmet");
const app = express();
app.use(helmet.hidePoweredBy());
app.get("/test", (req, resp) => {
resp.send('Testing with Helmet');
})
app.listen(3000);