gpt4 book ai didi

java - java安全管理器可以在安装级别默认启用吗?

转载 作者:太空宇宙 更新时间:2023-11-04 12:51:14 25 4
gpt4 key购买 nike

根据理解,可以使用反射来操纵 final 关键字的一般概念。

也可以使用安全管理器来防止同样的情况。

是否可以默认启用安全管理器(在 jdk 安装级别)?

引用文献:

更新1:

考虑到它需要启用才能工作,所以它不太可能。

我得到的最接近的方法是将 System.setSecurityManager(new SecurityManager()) 放置在类的静态 block 中,将其捆绑为 jar 并将其放置在“jre/lib/ext”中,结果发现它默认情况下未加载,我们仍然需要使用 Class.forName。

因此,即使如此,唯一的选择是使用 -Djava.security.manager 标志或以编程方式添加。

最佳答案

您可以使用 _JAVA_OPTIONS 环境变量设置默认 Java 系统属性,这样您就可以在系统上设置 _JAVA_OPTIONS="-Djava.security.manager",这将确保所有 Java 进程都在启用安全管理器的情况下运行。

当然,此变量可能会被覆盖,因此根据您的环境,它可能不够安全。

如果您试图确保特定类的最终成员不能使用反射被覆盖,另一个选择是在该类中放置一个静态初始化 block ,该 block 检查安全管理器是否已安装,如果没有安装,则抛出 SecurityException。

关于java - java安全管理器可以在安装级别默认启用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35812649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com