我正在創建一個允許用戶執行上傳的Java文件的應用程序。我試圖限制他們可以用安全管理器做什麼。一個空白的政策文件會是最嚴格的,不允許他們儘可能做到嗎?這是否會限制他們做任何基本的事情,我不應該限制他們?空白的Java安全策略文件是最嚴格的嗎?
6
A
回答
5
是的,不授予權限的安全策略是您可以使用標準Java安全管理器定義的限制性最強的策略,並且會阻止在該JVM中運行的代碼執行任何需要安全權限的任何代碼。在允許在安全管理器下運行的代碼執行任何可能有害的任何事情之前,Java核心API通常會檢查各種安全權限,因此從理論上講,在未授予權限的情況下運行不受信任的代碼是安全的。
有一些例外情況:例如從系統類路徑加載的代碼被允許調用System.exit(),這將停止您的應用程序,並且運行時沒有權限的代碼仍然可以創建任意數量的新線程,鎖定系統。如果擔心這些問題,則需要考慮編寫自定義安全管理器。
在你的情況下,如果你在同一個JVM中運行你的應用程序代碼和用戶提供的代碼,你需要給你的應用程序代碼權限來做它需要做的事情,同時授予對不可信代碼的權限,所以你需要添加類似下面給你的政策文件:
grant codeBase "file:path/to/trusted/application/jars" {
permission java.security.AllPermission;
};
要知道,如果你在命令行指定的政策文件,你需要使用雙等號(例如 - Djava.security.policy ** == ** policy.file),否則您的策略將擴展默認的Java安全策略,這將授予所有代碼的最小權限集。
相關問題
- 1. Java安全策略文件問題
- 2. 內容安全策略+表格插件
- 3. Java JCE不受限制的加密安全策略文件
- 4. 策略文件中的Java安全授權權限
- 5. 安全策略文件和jar
- 6. 設置安全策略文件在Eclipse
- 7. Oracle安全策略
- 8. Applets上的安全策略
- 9. 嚴格VS非嚴格NHibernate的緩存併發策略
- 10. Java安全策略從代碼
- 11. 外部引用java安全策略
- 12. 這是一個很好的安全策略嗎?
- 13. Java安全策略阻止訪問Maven資源文件
- 14. OSGi中重用Java安全設置(策略文件)
- 15. 在Java中更改系統屬性 - 安全策略文件
- 16. 什麼是Spring安全會話認證的最佳策略
- 17. Can Rails可以呈現無內聯CSS的表單來實現更嚴格的內容安全策略嗎?
- 18. 內容安全策略春季安全
- 19. 約:關於同源策略的空白
- 20. P2網站安全策略
- 21. Firefox擴展安全策略
- 22. AWS內容安全策略
- 23. Windows本地安全策略
- 24. 與內容安全策略
- 25. 線程安全策略
- 26. 您可以將同源策略設置爲更嚴格嗎?
- 27. 大量的文件策略有目錄遍歷安全問題?
- 28. 安全策略異常試圖訪問文件中的ASP.NET
- 29. ASP.NET WebForms中的內容安全策略
- 30. iFrame中webapp的內容安全策略
你想限制什麼? –
任何可能有害的東西。安全經理似乎是通過允許權限來操作的,所以如果您根本不允許任何權限,我不確定限制什麼。 – Greg
定義'空白安全管理器'。 – EJP