首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java默认SecurityManager策略

Java默认SecurityManager策略
EN

Stack Overflow用户
提问于 2014-08-05 06:53:13
回答 2查看 1.8K关注 0票数 6

我是SecurityManager的初学者。我一直试图使用Java SecurityManager来沙箱一些不受信任的代码(应该是非常简单的代码,比如计算权重等等)。在linux中。我使用命令java -Djava.security.manager来运行.class文件。

让我感到困惑的一件事是:有人说SecurityManager的默认策略允许几乎所有的操作,并且您需要编写自己的策略来拒绝一些危险的操作(例如从磁盘读取/写入文件);而另一些人则说默认策略实际上拒绝每个有风险的操作,如果您需要允许一些有风险的操作,您可以为该操作编写自己的策略。

我的问题是:

  1. 哪个是对的?(我未能找到默认的策略文件)
  2. 在我的例子中,我真的需要编写自己的安全策略吗?或者编写自己的安全策略有什么好处?

ps。我真的想否认所有冒险的行为。因此,如果默认策略是拒绝每个有风险的操作,我想我将使用默认的SecurityManager。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-01 22:25:19

默认的安全策略相当严格。您可以在java.home/lib/security/java.policy查看默认的java策略。

应用于所有域的grant { ... };块中没有包含的所有内容,例如java.io.FilePermissions,都不会授予您运行的任意代码。

Java文件不支持“拒绝”配置,只支持grant的配置。这就是为什么从一个相对严格的文件开始,用户可以在上面添加用户或应用程序策略文件。

参考资料:http://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html

票数 3
EN

Stack Overflow用户

发布于 2016-09-30 16:05:16

默认的JOptionPane.showMessageDialog,实现允许调用我认为有风险的操作,因为它会激怒用户。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25132792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档