2017-03-15 81 views
0

我有一个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); 
+0

浏览器通常需要发送'主机。你可以在'request'对象中获取这个头,并阻止所有没有你要找的域的请求。 – Lev

回答

0

请问域名有一个静态IP?您可以将您的域IP地址添加到白名单阻止来自所有IP的酒吧访问您的端点自己:

express-ipfilter

如果你没有一个静态IP,这样可以阻止你可以通过配置开始请求CORS与Access-Control-Allow-Origin标题设置为您的域。这将阻止来自浏览器的跨源访问,但不是您想要的完整修复。请求资源时 `头:

Configuring CORS

+0

不是它是一个动态的 – rocketer

+0

我用另一个想法更新了我的答案,对不起,如果它对你没有帮助。 – jonathangoodman