node.js中的Forbit CORS请求
问题描述:
我有一个nodejs Express应用程序,它为静态前端应用程序提供服务。我有一个端点,我想阻止来自所有其他域的访问。node.js中的Forbit CORS请求
一个解决方案可以使用CRSF,但我宁愿避免这种情况。有一个简单的方法吗?
我的应用程序是非常简单的:
app.use(express.static(path.join(__dirname, '/dist')));
app.use(bodyParser.json());
app.post('/endpoint', (req, res) => {
res.send();
});
app.listen(process.env.PORT || 8080);
答
请问域名有一个静态IP?您可以将您的域IP地址添加到白名单阻止来自所有IP的酒吧访问您的端点自己:
如果你没有一个静态IP,这样可以阻止你可以通过配置开始请求CORS与Access-Control-Allow-Origin
标题设置为您的域。这将阻止来自浏览器的跨源访问,但不是您想要的完整修复。请求资源时
+0
不是它是一个动态的 – rocketer
+0
我用另一个想法更新了我的答案,对不起,如果它对你没有帮助。 – jonathangoodman
浏览器通常需要发送'主机。你可以在'request'对象中获取这个头,并阻止所有没有你要找的域的请求。 – Lev