我正在使用Create-react-app
开发一个 react.js 应用程序,在响应标头中,我看到了 Express 的x-powered-by
标头,我想禁用此特定标头字段。有没有办法实现这一目标?在Next.js
中,我们可以通过向配置文件添加一些代码来禁用此标头字段,我们可以在我的场景中实现相同的目标吗?
React 是一个客户端框架,不处理向浏览器提供应用程序。用于托管应用程序的任何系统都负责该标头。一些CRA模板使用webpack-dev-server
来表示npm start
,这是在Express上构建的,可能是显示标题的内容。由于这实际上不是应用程序的一部分,因此即使可以关闭它也没有多大意义。
我建议看看头盔,这将删除x-powered-by标头,并通过设置其他http标头来增强安全性(有关详细信息,请参阅文档)
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
标头不再存在。
如果您只想隐藏x-powered-by
标题,我建议您尝试:
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);