您必须覆盖 create-react-app 附带的一些 webpack 配置并添加"X-Frame-Options": "SAMEORIGIN"
.
但是在 CRA 中,您不能直接使用webpack.config.js
. 你必须使用一个包来重新连接 CRA 启动/构建你的应用程序的方式。以下是您可以使用的重新布线包:
- react-app-rewired (CRA v1)
- 定制 cra 或 rescript (CRA v2)
- 克拉科 (CRA v3)
要知道您使用的是哪个 CRA 版本,您可以大致按照react-scripts
您的package.json
.
克拉科
我用这个 craco 配置成功了!!!在 craco.config.js 中:
module.exports = {
webpack: {
headers: {
'X-Frame-Options': 'Deny'
}
}
}
(我通过在 Burpsuite 中扫描进行了测试;Frameable Response 问题消失了。)
参考:如何在 CRA (create-react-app) 和 craco 中通过 webpack 设置别名路径?
react-app-rewired
我想你可以试试这个,但我还没有测试过。在 config-overrides.js 中:
module.exports = {
devServer: function(configFunction) {
return function(proxy, allowedHost) {
const config = configFunction(proxy, allowedHost)
config.headers = {
'X-Frame-Options': 'Deny'
}
return config
}
}
}
参考:创建 React App 添加 CORS 标头
*我可能把版本弄错了,如果是这样,请更正。