返回介绍

java.awt 类 AWTPermission

发布于 2019-10-04 09:49:46 字数 4928 浏览 903 评论 0 收藏 0

java.lang.Object
  └java.security.Permission
      └java.security.BasicPermission
          └java.awt.AWTPermission
所有已实现的接口:
Serializable, java.security.Guard

public final class AWTPermission
extends java.security.BasicPermission
 

此类用于 AWT 权限。 AWTPermission 包含一个目标名称,但是无操作列表;您可以有指定的权限,也可以没有。

目标名称是 AWT 权限的名称(参见下面内容)。命名约定遵守层次结构属性命名约定。另外,可以用星号来表示所有的 AWT 权限。

下表列出了所有可能的 AWTPermission 目标名称,并描述了每个名称允许何种权限,还讨论了授权代码权限的风险。

权限目标名称权限允许的操作允许权限所带来的风险
accessClipboard向 AWT 剪贴板发送信息,以及获取来自 AWT 剪贴板的信息这将允许非法代码共享潜在的敏感(或机密)信息。
accessEventQueue访问 AWT 事件队列检索 AWT 事件队列之后,恶意代码可能窥视甚至从其事件队列中移除现有的事件,也可能蓄意发出虚假事件,这些虚假事件可能以不安全的方式导致应用程序或 applet 行为异常。
createRobot创建 java.awt.Robot 对象java.awt.Robot 对象允许代码生成本机级别的鼠标和键盘事件,还允许读取屏幕内容。它可能允许恶意代码控制系统、运行其他程序、读取显示内容,以及拒绝用户访问鼠标和键盘。
fullScreenExclusive进入全屏独占模式进入全屏独占模式允许直接访问低层的显卡内存。这可能欺骗系统,因为程序直接控制了显示。
listenToAllAWTEvents在系统范围内侦听所有 AWT 事件添加 AWT 事件侦听器后,恶意代码可能扫描系统中指派的所有 AWT 事件,从而允许它读取所有用户输入(如密码)。每个 AWT 事件侦听器都是从该事件队列的 EventDispatchThread 的上下文中调用的,因此,如果同时启用了 accessEventQueue 权限,那么恶意代码就能在系统范围内修改 AWT 事件队列的上下文,从而以不安全的方式导致应用程序或 applet 行为异常。
readDisplayPixels从显示器屏幕读回像素接口(如 java.awt.Composite 接口)或 java.awt.Robot 类允许任意代码检查显示器上的像素,这使得恶意代码能窥探用户的活动。
replaceKeyboardFocusManager设置特定线程的 KeyboardFocusManager当安装 SecurityManager 时,必须将此权限授权给调用线程,以便替代当前的 KeyboardFocusManager 。如果没有授权,则抛出 SecurityException
showWindowWithoutWarningBanner显示窗口,但不显示由 applet 创建窗口的标志警告没有此警告,可能突然弹出 applet 窗口,而用户却不知道它们属于 applet。因为用户可以基于窗口是否属于 applet 做出安全敏感的决策(例如,在对话框中输入用户名和密码),所以禁用此警告标志可能允许 applet 欺骗用户去输入这些信息。
watchMousePointer获得任意时间鼠标指针位置的信息通过对鼠标指针的持续观察,applet 可以猜出用户正在做的事情,例如,将鼠标移动到屏幕的左下角很可能意味着用户将要启动某个应用程序。如果使用了虚拟键区,从而可以用鼠标模拟键盘,applet 可以猜出正在键入的文字。
setWindowAlwaysOnTop设置窗口的“总在最上层 (always-on-top)”属性: Window.setAlwaysOnTop(boolean)恶意窗口可能会伪装成一个真实完整的桌面,于是,对此毫不怀疑的用户输入的信息将会被捕获,随后被滥用。
setAppletStub设置实现 Applet 容器服务的 stub恶意代码可能设置 applet 的 stub,这将导致不可预料的行为或拒绝对 applet 服务。
另请参见:
BasicPermission , Permission , Permissions , PermissionCollection , SecurityManager , 序列化表格

构造方法摘要
AWTPermission(Stringname)

用指定的名称创建一个新的 AWTPermission

AWTPermission(Stringname, Stringactions)

用指定的名称创建一个新的 AWTPermission 对象。

方法摘要
从类 java.security.BasicPermission 继承的方法
equals, getActions, hashCode, implies, newPermissionCollection
从类 java.security.Permission 继承的方法
checkGuard, getName, toString
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

构造方法详细信息

AWTPermission

public AWTPermission(Stringname)
用指定的名称创建一个新的 AWTPermission 。参数 name 是 AWTPermission 的符号名,如 "topLevelWindow"、"systemClipboard" 等等。可以使用星号来指示所有的 AWT 权限。
参数:
name - AWTPermission 的名称

AWTPermission

public AWTPermission(Stringname,
                     Stringactions)
用指定的名称创建一个新的 AWTPermission 对象。参数 name 是 AWTPermission 的符号名,actions 字符串目前未被使用,应该为 null
参数:
name - AWTPermission 的名称
actions - 应该为 null

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文