我的Node.js API中有一些路由將數據從MongoDB數據庫發送到Angular 4前端。保護Node.js中的API路由
例子:
Node.js的路線:
router.get('/api/articles', (req, res) => {
Article.find({}, (err, articles) => {
if(err) return res.status(500).send("Something went wrong");
res.status(200).send(articles);
});
});
角4服務功能:
getArticles() {
return this.http.get('http://localhost:3000/api/articles')
.map(res => res.json()).subscribe(res => this.articles = res);
}
是,如何保護我的Node.js的問題瀏覽器訪問的API路線?當我去http://localhost:3000/api/articles時,我可以看到我所有的json格式的文章。
你真的不能。如果您打算公開一個角度API來使用,那麼任何Web代理都可以調用該API。您可以在您的網站上要求登錄帳戶,以便服務器可以在API響應之前進行驗證,但這是您可以執行的操作。有很多障礙可以讓你從角碼外部訪問更加困難,但是對於一個確定的黑客來說,沒有一個是安全的。 – jfriend00
@ jfriend00謝謝,您的評論在這裏非常感謝。我的目標僅僅是防止通過瀏覽器直接訪問公共API路由。我使用需要用戶認證的令牌。 – mikebrsv