我主要關注的是以下幾點:流星XSS代碼篡改
由於流星是基於JavaScript的,它是可以改變/篡改@客戶端,所以如果我更改或創建新的集合和開始發生垃圾郵件的數據庫將只有@客戶端(僅限內存)或雙方,即:服務器端也。
用戶輸入是否在保存在服務器端之前從xss中清除?
我主要關注的是以下幾點:流星XSS代碼篡改
由於流星是基於JavaScript的,它是可以改變/篡改@客戶端,所以如果我更改或創建新的集合和開始發生垃圾郵件的數據庫將只有@客戶端(僅限內存)或雙方,即:服務器端也。
用戶輸入是否在保存在服務器端之前從xss中清除?
如果創建客戶端上的一個新的集合,該服務器將不具備這方面的知識,也不會創造必要的東西,編輯數據庫服務器端。垃圾郵件數據只會在客戶端內存中。
Trees = new Meteor.Collection("boom");
Meteor.Collection
Trees.insert({hi:"hi"});
"4b0d5ff2-058c-4041-849b-ce2e0d548160"
logging.js:30: insert failed: 404 -- Method not found
這是正確的,並進一步澄清它沒有知識,因爲它沒有訂閱。除非你開始篡改現有的訂閱集合,否則沒有什麼可以阻止這種情況發生。 – Adgezaza 2012-07-26 19:10:30
所以爲了防止用訂閱集合調試,我們應該通過鎖定數據庫幫助器方法@服務器端來管理關鍵部分,如[brito](http://britto.co/blog/security_with_meteor) 中所示,這應該可以做我猜測的技巧: 'Meteor.startup(函數(){ _.each([/ **集合名稱** /],功能(集合){ _.each([ '插入', '更新','除去 '],功能(方法){ Meteor.default_server.method_handlers ['/」 +收集+ '/' +方法] =函數(){}; }); }); } );' 謝謝大家。 – 2012-07-27 02:09:49
我也想知道這一點 - 我瀏覽了一下網站並停下了短小的一次,我看到*所有*都是在js中完成的。並不是說我有什麼反對,但我只是喜歡至少一點服務器端的安全性,以便在晚上睡得好。 – 2012-07-26 13:15:14
我很確定從語言的角度來看,「一切都是用JS表達的意思」。服務器和客戶端仍然有分離。 – 2012-07-26 16:28:25