2014-08-29 35 views
2

我的部分項目需要允許參與者上傳簡單且非常基本的java代碼,我將運行他們的代碼並返回結果給他們。我通過限制Web用戶帳戶的權限,使用線程來控制超時情況,並使用安全管理器來處理沙盒委託程序來降低安全風險。爲什麼我不應該使用默認的java安全管理器

因爲我不太瞭解什麼樣的請求可能會導致意外的危險,所以我決定使用默認策略。但大多數人都在談論使用定製策略。

我搜索了很多,但我仍然沒有找到任何網站/文學/教程,談論爲什麼我不應該使用默認安全管理器。是否有任何缺陷可以通過使用自定義策略來避免,同時存在默認策略?

我的意思是,這是因爲默認策略太嚴格或無用,因此人們傾向於使用自定義策略。

我已閱讀java.security,但我仍想確保這一點。

+0

對不起,我不明白。你的意思是我應該複製沙箱嗎? – user3794582 2014-08-29 08:20:48

+0

這意味着您應該查看一個名爲「[Sandbox針對Java應用程序中的惡意代碼]」的問題(https://stackoverflow.com/questions/502218/sandbox-against-malicious-code-in-a-java應用程序)「,因爲它與你所要求的非常相似,並且答案可能對你有用。 – 2014-08-29 08:29:11

+1

謝謝,我讀過這個鏈接,它非常有用。我實際上是根據這個鏈接中的答案構建了我的系統。但我仍然不知道爲什麼我們應該使用自定義策略而不是默認策略。 (我知道我的問題很愚蠢,但我只需要一個理由) – user3794582 2014-08-29 08:38:06

回答

1

必須授權最低權限,而不是「合理的默認值」。

這取決於您的項目的細節。這些細節定義您給客戶代碼的權限。 list of possible permissions是巨大的,知道你在做什麼,你可以更緊密地調整它。至少,您應該查看默認策略文件,並認爲可能會另外禁用。

+0

因此,默認政策提供「合理的默認」權限。如果我想停止一些權限,我需要一個自定義權限。這樣對嗎? – user3794582 2014-08-29 09:05:27

相關問題