我一直在构建一个应用程序,我用create-react-app
启动了它。我正试图通过添加HSTS标头或类似内容来提高它的安全性,但在没有构建自己的自定义服务器的情况下,似乎找不到任何在线解释方法。大多数答案都使用nginx或apache。我的后端是在node.js express
中构建的,使用helmet.js
,它运行良好,但我的前端是完全独立的,我猜我的后端安全并不能真正解决问题。我看到了react-helmet
包,但我不确定这是否是我想要的。你能用这个包来设置这种http头吗?你会怎么做?
不要担心开发模式构建中的安全性。在开发过程中,您无法控制服务器发送到浏览器的hsts和其他http头。你应该担心当托管它的生产。当您为生产构建它并从您的快递服务器上提供它时,请添加此项。
在您的快递服务器中,您应该能够使用hsts
中间人。所以,如果你只想让hst这样做:
运行npm install hsts
然后将其添加到您的快递服务器。
const hsts = require('hsts')
app.use(hsts({
maxAge: 15552000 // 180 days in seconds
}))
或者,您可以使用包括其他几个中间商的helmet
来提高安全性。
npm install --save helmet
var helmet = require('helmet')
app.use(helmet())
请参阅expressjs.com 上的最佳安全实践