0

我正在使用 react.js 应用程序Create-react-app,在响应标头中我看到了 Express 的x-powered-by标头,我想禁用这个特定的标头字段。有没有办法做到这一点?在Next.js我们可以通过在配置文件中添加一些代码来禁用此标头字段,我们可以在我的场景中实现相同的功能吗?

4

2 回答 2

1

React 是一个客户端框架,不负责将应用程序提供给浏览器。无论您使用什么系统来托管您的应用程序,都对该标头负责。某些 CRA 模板使用webpack-dev-servernpm start是基于 Express 构建的,并且可能是显示标题的内容。由于这实际上不是您的应用程序的一部分,因此即使可以关闭它也没有多大意义。

于 2021-10-19T11:10:25.653 回答
0

我建议看一下头盔,这将删除 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);
于 2021-10-19T11:20:31.370 回答