如何防止用戶訪問/修改客戶端模型/集合?Meteorjs模型/集合可以在客戶端訪問。安全問題?
回答
正如馬特提到的,解決方法已不再需要。然而,作爲標準,它似乎需要刪除autopublish軟件包以確保系統安全。 Meteor文檔涵蓋確保集合的安全性:http://docs.meteor.com/#meteor_collection
大有前途!看着它。謝謝! – thomasloh
在Meteor 0.5.0及更新版本中,此解決方法不是必需的。 – debergalis
使用allow
和deny
來定義每個客戶端允許進行哪些數據庫更改。
從文檔:
當客戶端調用插入,更新或刪除集合,集合的允許和拒絕回調被稱爲服務器上,以確定是否寫應該被允許。如果至少有一個允許回調允許寫入,並且沒有拒絕回調否認寫入,則允許寫入繼續。
這些檢查僅在客戶端試圖直接寫入數據庫時運行,例如通過調用事件處理程序中的更新。服務器代碼是可信的,不受限制和拒絕。這包括使用Meteor.call調用的方法 - 它們需要執行自己的訪問檢查,而不是依賴允許和拒絕。
您可以隨意調用允許次數,每次調用都可以包含插入,更新和刪除功能的任意組合。如果他們認爲操作應該被允許,函數應該返回true。否則,他們應該返回false,或者根本沒有(undefined)。在這種情況下,Meteor將繼續搜索收集中的任何其他允許規則。
此外,爲了安全讀取,只需返回一個遊標,其查詢在'Meteor.publish'函數內使用'this.userId'。您還需要運行'$ meteor remove autopublish insecure'來關閉將所有數據發佈到客戶端的初學者選項,並允許來自客戶端的大部分更改。 –
今天我學到了,除非你也使用'allow',否則你不能使用'deny'。它被埋在文檔中,如下所示:「如果您從不在集合上設置任何允許規則,則所有寫入集合的客戶端都將被拒絕,並且只能從服務器端代碼寫入集合。」 –
- 1. MeteorJs:可以訪問文件系統客戶端嗎?
- 2. 客戶端WCF安全問題
- 3. 客戶端安全問題(Javascript)
- 4. 客戶端驗證安全問題
- 5. MeteorJS mongo收集,客戶端和服務器問題
- 6. Linux用戶可以訪問的git客戶端安裝後...
- 7. Silverlight客戶端訪問策略問題
- 8. 骨幹集合模型不可訪問
- 9. 多個用戶可同時訪問的線程安全集合
- 10. 是否可以從SQL客戶端訪問SAS數據集?
- 11. 我可以通過客戶端JS訪問Notes文檔/集合嗎?
- 12. 線程安全訪問靜態集合
- 13. Mongodb:客戶端用戶認證安全問題
- 14. 訪問複合數據客戶端
- 15. SVN訪問/安全問題
- 16. 可可線程安全的可變集合訪問
- 17. 在骨幹集合中訪問模型
- 18. 客戶端的meteorjs全球功能
- 19. 問題上,在客戶端
- 20. 廚師客戶端安裝問題
- 21. 存儲twitter訪問令牌客戶端是否安全?
- 22. 由胖客戶端訪問的安全SQL Server
- 23. 從WPF客戶端訪問安全的Web API
- 24. 來自客戶端訪問API的AJAX請求的安全性
- 25. 客戶端對象模型訪問自定義用戶屬性
- 26. 你可以通過asp.net web app訪問客戶端com端口
- 27. OAuth完全Javascript訪問,安全問題?
- 28. WCF強類型集合在客戶端
- 29. OAuth身份驗證客戶端安全問題
- 30. 的Solaris JMS客戶端連接到WebLogic11克T3S安全問題
歡迎來到SO!你的問題太泛泛。告訴我們你到目前爲止嘗試過什麼。 – vyegorov
沒有辦法(我知道)阻止用戶訪問客戶端對象= \ – thomasloh
Meteor 0.5.0添加了「allow」和「deny」,它們完全符合您的需求。 – debergalis