現在我已閱讀此Secure node.js restful API 但我需要一些更詳細的說明。保護Node.JS API
目的 撥叫客戶端(JS,角,EJS)到服務器的API(node.js的),但牢固,以至於不能只用鑰匙篡改:發送的值。
情況 我創建特定URI和return res.json();
一個app.post({});
。現在是這個問題,
控制器採取一個參數說id。現在id = 1是Apple,id = 2是微軟。
我分別返回Apple和Microsoft,但我不希望訪問者(匿名)只能將id更改爲2並獲取MIcrosoft的數據。
- 訪客在這一點是匿名的,對於非匿名用戶我使用會話。
- 如果我保留鹽或生成散列,那麼算法將通過源代碼可見。
- 如果我使用AUTH,那麼證書將是可見的。
我希望我對我的問題已經夠清楚了,會等待答案。
的示例代碼
...
exports.statement = function(req, res){
dcn_db.pool.getConnection(function(err, connection){
if(!req.body.opid){
return res.sendStatus(400);
}
var opid = req.body.opid;
var con = req.body.con;
connection.query(data_model.mini_statement(req),[opid,con], function(err, rows, fields) {
if(err) {
console.log('Error while performing Query. ' + err); //error respose
return res.json({ error : "true"})
}else{
return res.json({ error : "false", data : rows}); //parse result to json instantly
}
});
connection.release();
});
};
...
上面的代碼發生在OPID和CON .... OPID是最主要的事情在這裏 ü會怎麼看待呢?
你不能。不可能。用戶有權在您的服務器上扔出他們想要的任何數據包。由您來執行授權服務器端。 – meagar
那麼你有什麼建議?認爲id是我應該以加密形式使用id並在服務器上解密的主要元素?或其他東西 –