在安全管理器类中检查 Create ClassLoader 这个方法是啥
Posted
技术标签:
【中文标题】在安全管理器类中检查 Create ClassLoader 这个方法是啥【英文标题】:What does this method do checkCreateClassLoader in the security manager class在安全管理器类中检查 Create ClassLoader 这个方法是什么 【发布时间】:2014-11-26 01:00:15 【问题描述】:我想知道 checkCreateClassLoader 方法的作用,它在 java api 文档中不是很清楚。是的,假设我有一个应用程序并希望避免有人在运行时转储我的类(使用 java 代理或反射) .我可以使用这种方法来避免这种情况吗?谢谢
马利克兹
【问题讨论】:
您可能想进一步扩展您的问题。看起来你并没有投入太多精力。如果你不愿意花时间解释和澄清你的问题,你怎么能指望别人花时间回答你的问题呢? 好吧,它所做的是检查是否允许有问题的代码创建一个新的类加载器(这是一个与安全相关的操作)。您是在问如何设置此权限? 我只想知道 checkCreateClassloader 方法是做什么的?它在安全包内的 SecurityManager 类中。我认为那很清楚不是吗? 我也想知道它是否会阻止某些类被加载 @MalikDz:嗯,JavaDoc 准确地说明了它的作用。你问它是如何实现的?或者如何设置这些权限?或者 SecurityManager 通常做什么(checkCreateClassLoader 与所有其他权限实际上相同,你清楚吗)? 【参考方案1】:假设我有一个应用程序并希望避免有人在运行时转储我的类(使用 java 代理或反射)。我可以使用这种方法来避免这种情况吗?
没有。
首先,“Java 代理”已经暗示了对运行时环境的完全控制。
如果您有用户在他们自己的机器上运行您的代码,they can get at your class files。
如果代码在您的机器上运行(但用户可以通过某种方式上传自己的 JAR 文件),那么您可以使用自定义安全管理器,可能与自定义 ClassLoader 结合使用,以禁用反射并可能还可以访问类的字节码(并且还限制了将这些“泄露”数据发送回用户所需的通信渠道)。
【讨论】:
以上是关于在安全管理器类中检查 Create ClassLoader 这个方法是啥的主要内容,如果未能解决你的问题,请参考以下文章
优化器类中 tensorflow 最小化()函数中的“gate_gradients”属性是啥?