gpt4 book ai didi

java - 如何在沙箱中运行不受信任的 Java Swing 应用程序?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:40 26 4
gpt4 key购买 nike

我发现Java有一些安全权限来控制对AWT资源的访问。是否有任何东西可以控制 Swing 应用程序可以做什么或不能做什么,以避免不受信任的应用程序在多应用程序环境中相互干扰?

例如:

  • 打开 JFrame。
  • 打开一个完全透明的 JFrame。
  • 关闭其他不受信任的应用程序的 JFrame 实例。
  • 等...

问题更新:

不受信任的应用程序从一个独特的 JVM 启动,在一个单独的线程中,并从一个单独的类加载器加载。我想知道如何确保上面引用的中断示例都不会发生。

此外,如何防止不受信任的应用程序通过模仿其 UI 来伪装成来自其他应用程序的应用程序?欢迎任何建议。

最佳答案

我不确定你想做什么是可能的。 AWT 有一组可以在沙箱中运行应用程序时配置的权限(请参阅 AWTPermission ,但它们非常有限,而且似乎更针对于防止小程序做坏事。

最重要的是,阻止一个应用程序模仿另一个应用程序对我来说似乎是不可能的;如果允许两个应用程序创建 UI 组件,是什么阻止一个应用程序创建与另一个相同的 UI 组件?

如果您有一个您信任的应用程序和一个您不信任的应用程序,您需要这些应用程序无法控制的代码,这些代码将以不同的方式运行;例如,一个疯狂的想法是在不受信任的应用程序周围放置一个红色边框的窗口管理器,以便用户可以将其识别为不受信任。但是当两个应用程序在同一个 JVM 中运行时,Java 似乎没有足够的支持,因为似乎没有任何方法可以隔离这两个应用程序(一个简单的 FocusListener 可以允许一个应用程序访问到另一个组件并更改它们)。

关于java - 如何在沙箱中运行不受信任的 Java Swing 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6279690/

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