java.lang.Object
java.security.Permission
java.security.BasicPermission
java.net.NetPermission
- 所有已实现的接口:
-
Serializable
,Guard
这个类用于各种网络权限。NetPermission包含一个名称(也称为“目标名称”),但没有操作列表;你要么有命名权限,要么没有。
目标名称是网络权限的名称(见下文)。命名约定遵循分层属性命名约定。此外,星号可能出现在名称的末尾,跟在“.”后面,或单独出现,表示通配符匹配。例如:“foo.*”和“*”表示通配符匹配,而“*foo”和“a*b”则不是。
以下表列出了标准的NetPermission目标名称,以及每个名称允许的权限和授予代码该权限的风险讨论。
权限目标名称 | 权限允许的内容 | 允许此权限的风险 |
---|---|---|
allowHttpTrace | 在HttpURLConnection中使用HTTP TRACE方法的能力。 | 使用HTTP TRACE的恶意代码可能会访问HTTP标头中的安全敏感信息(如cookies),而否则可能无法访问。 |
accessUnixDomainSocket | 接受、绑定、连接或获取Unix域套接字的本地地址的能力。 | 恶意代码可以使用Unix域套接字连接到本地进程或冒充本地进程,通过绑定到相同的路径名(假设它们具有所需的操作系统权限)。 |
getCookieHandler | 获取处理高度安全敏感cookie信息的cookie处理程序的能力。 | 恶意代码可以获取cookie处理程序以访问高度安全敏感的cookie信息。一些Web服务器使用cookie保存用户的私人信息,如访问控制信息,或跟踪用户的浏览习惯。 |
getNetworkInformation | 检索有关本地网络接口的所有信息的能力。 | 恶意代码可以读取有关网络硬件的信息,如MAC地址,这些信息可以用于构建本地IPv6地址。 |
getProxySelector | 获取用于在进行网络连接时做出代理选择的代理选择器的能力。 | 恶意代码可以获取ProxySelector以发现内部网络上的代理主机和端口,这些代理主机和端口可能成为攻击目标。 |
getResponseCache | 获取提供对本地响应缓存的访问权限的响应缓存的能力。 | 恶意代码访问本地响应缓存可能会访问安全敏感信息。 |
requestPasswordAuthentication | 向系统注册的验证器请求密码的能力 | 恶意代码可能窃取这个密码。 |
setCookieHandler | 设置处理高度安全敏感cookie信息的cookie处理程序的能力。 | 恶意代码可以设置cookie处理程序以获取对高度安全敏感cookie信息的访问权限。一些Web服务器使用cookie保存用户的私人信息,如访问控制信息,或跟踪用户的浏览习惯。 |
setDefaultAuthenticator | 设置在代理或HTTP服务器请求身份验证时检索身份验证信息的方式的能力 | 恶意代码可以设置一个监视和窃取用户身份验证输入的验证器,因为它从用户那里检索输入。 |
setProxySelector | 设置用于在进行网络连接时做出代理选择的代理选择器的能力。 | 恶意代码可以设置一个ProxySelector,将网络流量定向到任意网络主机。 |
setResponseCache | 设置提供对本地响应缓存的访问权限的响应缓存的能力。 | 恶意代码访问本地响应缓存可能会访问安全敏感信息,或在响应缓存中创建虚假条目。 |
setSocketImpl | 使用用户指定的SocketImpl创建Socket或ServerSocket的子类的能力。 | 恶意用户定义的SocketImpl可以通过访问SocketImpl的受保护字段,以意想不到的方式更改Socket和ServerSocket的行为。 |
specifyStreamHandler | 在构造URL时指定流处理程序的能力 | 恶意代码可能会创建一个URL,其中包含它通常无法访问的资源(如file:/foo/fum/),指定一个流处理程序,从某个它可以访问的地方获取实际的字节。因此,它可能会欺骗系统创建一个类的ProtectionDomain/CodeSource,尽管该类实际上并不来自该位置。 |
- 实现注意事项:
- 实现可以定义额外的目标名称,但应使用命名约定,如反向域名表示法,以避免名称冲突。
- 自版本:
- 1.2
- 参见:
-
Constructor Summary
ConstructorDescriptionNetPermission
(String name) 使用指定的名称创建一个新的NetPermission。NetPermission
(String name, String actions) 使用指定的名称创建一个新的NetPermission对象。 -
Method Summary
Methods declared in class java.security.BasicPermission
equals, getActions, hashCode, implies, newPermissionCollection
Methods declared in class java.security.Permission
checkGuard, getName, toString
-
Constructor Details
-
NetPermission
使用指定的名称创建一个新的NetPermission。名称是NetPermission的符号名称,如“setDefaultAuthenticator”等。星号可能出现在名称的末尾,跟在“.”后面,或单独出现,表示通配符匹配。- 参数:
-
name
- NetPermission的名称。 - 抛出:
-
NullPointerException
- 如果name
为null
。 -
IllegalArgumentException
- 如果name
为空。
-
NetPermission
使用指定的名称创建一个新的NetPermission对象。名称是NetPermission的符号名称,actions字符串目前未使用,应为null。- 参数:
-
name
- NetPermission的名称。 -
actions
- 应为null。 - 抛出:
-
NullPointerException
- 如果name
为null
。 -
IllegalArgumentException
- 如果name
为空。
-