我担心我的react / redux应用程序的安全性,因为我的api网址在捆绑的app.js文件中向公众公开。我一直在研究这个问题,一些开发人员以某种方式代理它,即代替使用我的api URL,我可以api/
在每次使用axios或superagent之类的库执行调用时使用它,并且可以代理到我的api URL,但是这种方式用户只能api/
在他们的边。
我试图弄清楚这一点,我认为这是在express config中设置的吗?
您有一个有效的顾虑。
通常,您需要让客户端代码调用/ api,然后以明示的方式(或使用的任何服务器)为“ / api”创建一条路由,以代理请求到实际api URL的请求。
这样,您可以掩盖来自客户端的任何敏感信息。例如身份验证令牌,API密钥等。
作为表达,您可以执行以下操作:
app.use('/api', (req, res) => {
const method = req.method.toLowerCase();
const headers = req.headers;
const url = 'your_actual_api_url';
// Proxy request
const proxyRequest = req.pipe(
request({
url
headers,
method,
})
);
const data = [];
proxyRequest.on('data', (chunk) => {
data.push(chunk);
});
proxyRequest.on('end', () => {
const { response } = proxyRequest;
const buf = Buffer.concat(data).toString();
res.status(response.statusCode).send(buf);
});
});
这个例子必须要复杂一些,但它可能对您有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句