最終breeze.js
的安全性落在了用於實際運行查詢的編程語言上。正如我在文檔中看到的,它主要用於ASP。
{
"entities": [{
"Id": 2908,
"Description": "Wine",
"CreatedAt": "2012-08-22T09:06:00.000Z",
"IsDone": true,
"IsArchived": false,
"entityAspect": {
"entityTypeName": "TodoItem:#Todo.Models",
"entityState": "Modified",
"originalValuesMap": {
"IsDone": false
},
"autoGeneratedKey": {
"propertyName": "Id",
"autoGeneratedKeyType": "Identity"
}
}
}],
"saveOptions": {
"allowConcurrentSaves": false
}
}
存在標識唯一敏感的事情:
檢查TODO sample,做一個行動的有效載荷調用/api/todos/SaveChanges
。即使你不使用JavaScript,你仍然需要以某種方式公開某些數據。我並不是說這是做這件事的最好方式,但這並沒有我能想到的任何直接的缺點。至少不在JS組件中。
它代表應用程序(就像在任何情況下)清理任何來自用戶的輸入。這包括任何AJAX呼叫,無論是否使用微風。
如果您可以對某些用於清理/運行查詢的ASP代碼發表評論,我們可以提供更多關於此問題的信息。
綜上所述。沒有問題。 JavaScript本身不會連接到數據庫,因此它沒有任何固有的安全問題。
檢查文檔,感覺就好像你正在尋找'var query = breeze.EntityQuery.from(「Employees」);'和'var manager = breeze.EntityManager('api/northwind');' – Khez 2013-02-13 06:52:33
所以!它安全嗎? – 2013-02-13 06:58:22
讓我們非常清楚:查詢中的「員工」是**資源名稱**,而不是數據庫表名稱。該資源的數據來自名稱也是「Employees」的數據庫表的事實純粹是巧合。該資源可能被稱爲「Foos」。當然,實體,表格和服務名稱是相同的。但這是開發者的選擇。控制器名稱與數據庫名稱相匹配。 – Ward 2013-02-14 06:16:42