问题标签 [securitymanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 禁止调用 System.exit
我试图禁止System.exit(int);
在某些罐子中调用。
这些 jar 将由外部团队开发并由我们的“容器”应用程序加载。
我的第一反应是使用 java 安全管理器:
使用最简单的${user.home}/.java.policy
文件:
虽然不能再调用比如System.getProperties()(因为我没有java.util.PropertyPermission),但是可以做一个System.exit(0)!!
该选项java.security.debug=all
提供以下控制台:
为什么 my-bin-path 中的所有类都java.lang.RuntimePermission exitVM
授予 ?????
谢谢
java - 访问被拒绝(“java.io.FilePermission”““ “读”)
我正在使用框架pulpcore 用Java 制作游戏,我不断收到此错误:
有人知道如何解决这个问题吗?我知道这与策略有关,但我以前从未使用过它们,所以不知道如何解决这个问题。任何帮助将不胜感激。
java - 仅为一种方法设置 Java SecurityManager
我有一个方法 A 可能如下所示:
问题是,一旦设置了 SecurityManager,它就适用于整个项目,但我只需要它用于这个方法所在的类。我如何告诉 SecurityManager 只验证这个方法/类的权限?
java - Java SecurityManager - 设置自定义策略文件
有没有办法为位于我想要的任何位置的 Java SecurityManager 创建自定义策略文件?如果是,我将如何做到这一点,以及如何以编程方式将 SecurityManager 绑定到该文件,而不是通过命令行?
java - Java 堆栈自省
我希望有人可以帮助我解决以下问题:
我对 java 堆栈自省的理解(这里可能有点过于简单化了)是一个进程生成一个堆栈帧,然后将其添加到堆栈中。现在,当进程需要进行系统调用时,堆栈自省算法检查是否允许主体(即尝试访问资源的进程)使用特定资源,然后相应地注释帧(授予或禁止访问)。
我的问题是:
- 以上是正确的还是我错过了什么?
- JVM 如何决定是授予还是限制访问?用户是否参与了这个决定?
- 在这项研究中,有一个示例(图 2),其中一个框架继承/被告知前一个框架的“信念集”!在这个例子中,是什么阻止了恶意代码的执行(即访问不应访问的资源)?
java - 如何从不同的线程“捕获” System.exit(-1)?
我有以下
有没有办法防止 some3rdPartyStaticMethod 的衍生线程的 System.exit() 调用停止 jvm?
scala - 如何使用给定的 SecurityManager 运行 Akka Future?
对于一个用 Scala 编写的开源多人编程游戏,它通过插件系统从.jar
文件中加载玩家的机器人代码,我想通过在限制条件下运行它们来防止机器人代码对服务器系统造成伤害SecurityManager
执行。
当前实现使用 URLClassLoader 从其相关插件 .jar 文件中为每个机器人提取控制函数工厂。然后使用工厂为每一轮新的游戏实例化一个机器人控制函数实例。然后,每个模拟周期一次,同时调用所有机器人控制功能以获取机器人对其环境的响应。并发调用是使用 Akka 完成的Future.traverse()
,其中隐式提供ActorSystem
由其他并发操作组件(编译服务、Web 服务器、渲染)共享:
为了限制机器人插件中包含的潜在恶意代码运行,似乎遵循这个 StackOverflow 问题和这个问题中采用的路径,我需要让机器人控制功能在适当限制性实现下运行的线程中SecurityManager
执行。
现在的问题是:如何让 Akka 处理当前在Future.traverse()
具有期望的线程中运行的Actors 完成的工作SecurityManager
,而系统中的其他Actors,例如运行后台编译服务的 Actors,继续像现在一样运行,即不受限制?
java - java.security.AccessControlException:访问被拒绝(java.lang.RuntimePermission modifyThread)
我有我的批处理应用程序,我在批处理应用程序中使用 ThreadPoolExecutor。所以一旦它击中-
在我的批处理应用程序中,我总是在批处理应用程序中收到以下错误。而且我无法关闭我自己的执行器服务。谁能建议我应该如何克服这个错误。
更新- 我尝试过这样做,但仍然没有运气-
java - 使用 Java 的应用程序包装器
是否可以使用 Java 为其他 (Java) 应用程序实现包装应用程序?
目的是强制执行独立于用于处理特定文档的应用程序的文档的使用策略。
EG 我有一个加密文件,需要在某种编辑器中解密和打开。因此,包装应用程序将解密文件并在其内部启动编辑器,以通过拒绝对应用程序的写访问来强制执行只读策略。因此该Runtime.getRuntime().exec(<command>)
方法不太适合:)
还有一些方法可以拦截同一应用程序中的方法调用,但没有一种方法可以包装整个其他应用程序。
我还阅读了有关更改 JVM 本身以拦截文件访问的信息。这听起来很不错。但我需要根据用户动态更改策略。据我目前所知,这可能行不通。
我想可能没有任何方法可以使用 Java 代码来做到这一点,但我会很感激任何提示和帮助。
java - java https连接和安全弹出窗口
我的应用程序是一个签名的小程序,它是用 java 1.6 编译的
在我的应用程序中,我提出了一个 https 获取请求。即使我忽略了证书验证,JRE 仍然向我显示一个安全弹出窗口。
当我通过 Internet Explorer 尝试相同的请求时,它没有显示任何安全警告。
1)我能以编程方式做些什么来使这个安全弹出窗口消失吗?
2)即使我接受所有证书,为什么JRE会弹出警告?。
这是我忽略证书有效性的代码:
这是安全警告的屏幕截图: