java - 为什么我不应该使用默认的 Java 安全管理器

标签 java security securitymanager

<分区>

我的部分项目需要允许参与者上传简单且非常基本的 Java 代码,我将运行他们的代码并为他们返回结果。我通过限制web用户帐户的权限、使用线程控制超时情况、使用安全管理器对委托(delegate)程序进行沙箱化来降低安全风险。

由于我不太清楚什么样的请求可能会造成意想不到的危险,所以我决定使用默认策略。但是大多数人都在谈论使用自定义策略。

我已经搜索了很多,但我仍然没有找到任何网站/文献/教程来讨论为什么我不应该使用默认的安全管理器。是否有任何错误可以通过使用自定义策略来避免,而默认策略存在?

我的意思是,是不是因为默认策略太严格或没用,以至于人们倾向于使用自定义策略。

我已经阅读了 java.security,但我仍然想确定这一点。

最佳答案

必须授权最低限度的权利,而不是“合理的默认”。

这取决于您的项目的详细信息。这些详细信息定义了您授予客户代码的权限。 list of possible permissions是巨大的,并且知道你在做什么,你可能可以更紧密地调整它。至少,您应该查看默认策略文件并认为可以另外将其禁用。

关于java - 为什么我不应该使用默认的 Java 安全管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25563957/

相关文章:

javascript - 将敏感数据存储在 Local Stoarge 或 session 存储中是否安全? Localstorage 允许对敏感数据进行任何攻击

java - 有没有办法在Java中使用多个SecurityManager?

java - 其他可用的 SecurityManager 实现?

Mac OS X 10.9 中的 Java Swing GUI

java - 更新链表

java - Tomcat 和带有百分号的 URLS

perl - 我以前未受污染的数据怎么会再次受到污染?

asp.net - ASP.net __EVENTTARGET 和 __EVENTARGUMENT 是否容易受到 SQL 注入(inject)的影响?

java - 当我使用三元运算符时抛出 NullPointerException

Java反射权限错误