2017-03-15 95 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