2017-04-24 163 views
1

我使用節點js和我把政策限制API的accurance在browser.For otherthan我把下面的條件如何限制API只能在瀏覽器中運行?

app.route('/students').all(policy.checkHeader).get(courses.list) 

exports.checkHeader = function(req, res, next) { 
    var headers = req.headers; 
     if (headers['upgrade-insecure-requests'] || headers['postman-token']) { 
     res.status(401).json('Page not found'); 
    } else { 
     return next(); 
    } 

} 

我不知道我的過程是否correct.I正在尋找共同的參數(header-parameter)只存在於browser.Can任何人請幫助我。謝謝。

回答

2

這是不可能的。

您無法控制向HTTP服務器發送HTTP請求的客戶端類型。

您無法可靠地確定哪種客戶端提出了您收到的請求。

升級不安全請求頭可以由任何自定義客戶端發送(或不發送)任何值。同上郵遞員令牌。同上用戶代理。同樣一切。

限制它的唯一方法是在請求中要求某種祕密。如果你想讓普通的網頁瀏覽器訪問它,那麼祕密將通過瀏覽器開發工具泄露。