Класс NetPermission
- java.lang.Object
-
- java.security.Permission
-
- java.security.BasicPermission
-
- java.net.NetPermission
- Все реализуемые интерфейсы:
-
Serializable,Guard
public final class NetPermission extends BasicPermission
Этот класс предназначен для различных разрешений сети. NetPermission содержит имя (также называемое «именем целевого объекта»), но не список действий; у вас есть разрешение с указанным именем или нет.
Имя целевого объекта — это имя разрешения сети (см. ниже). Конвенция именования соответствует соглашению об именовании иерархических свойств. Кроме того, звездочка может появляться в конце имени после точки или сама по себе, чтобы обозначить соответствие по шаблону. Например: «foo.*» и «*» обозначают соответствие по шаблону, а «*foo» и «a*b» — нет.
В следующей таблице перечислены все возможные имена целевых объектов NetPermission, а для каждого из них приведено описание того, что позволяет разрешение, и обсуждение рисков предоставления коду этого разрешения.
| Имя целевого объекта разрешения | Что позволяет разрешение | Риски предоставления этого разрешения |
|---|---|---|
| allowHttpTrace | Возможность использования метода HTTP TRACE в HttpURLConnection. | Злонамеренный код, использующий HTTP TRACE, может получить доступ к конфиденциальной информации в заголовках HTTP (например, к cookie), к которой он иначе не имел бы доступа. |
| getCookieHandler | Возможность получения обработчика cookie, который обрабатывает конфиденциальную информацию о cookie для сеанса HTTP. | Злонамеренный код может получить обработчик cookie для получения доступа к конфиденциальной информации о cookie. Некоторые веб-серверы используют cookie для сохранения личной информации пользователя, например, информации об управлении доступом или для отслеживания привычек просмотра пользователем. |
| getNetworkInformation | Возможность получения всей информации о локальных сетевых интерфейсах. | Злонамеренный код может считывать информацию о сетевом оборудовании, например, MAC-адреса, которые можно использовать для построения локальных IPv6-адресов. |
| getProxySelector | Возможность получения селектора прокси, используемого для принятия решений о том, какие прокси использовать при установлении сетевых соединений. | Злонамеренный код может получить ProxySelector, чтобы обнаружить прокси-хосты и порты во внутренних сетях, которые затем могут стать мишенью атаки. |
| getResponseCache | Возможность получения кэша ответов, предоставляющего доступ к локальному кэшу ответов. | Злонамеренный код, получивший доступ к локальному кэшу ответов, может получить доступ к конфиденциальной информации. |
| requestPasswordAuthentication | Возможность запроса у зарегистрированного в системе аутентификатора пароля | Злонамеренный код может украсть этот пароль. |
| setCookieHandler | Возможность установки обработчика cookie, который обрабатывает конфиденциальную информацию о cookie для сеанса HTTP. | Злонамеренный код может установить обработчик cookie для получения доступа к конфиденциальной информации о cookie. Некоторые веб-серверы используют cookie для сохранения личной информации пользователя, например, информации об управлении доступом или для отслеживания привычек просмотра пользователем. |
| setDefaultAuthenticator | Возможность установки способа получения информации об аутентификации, когда прокси или HTTP-сервер запрашивает аутентификацию | Злонамеренный код может установить аутентификатор, который отслеживает и крадёт ввод данных об аутентификации пользователя по мере получения ввода от пользователя. |
| setProxySelector | Возможность установки селектора прокси, используемого для принятия решений о том, какие прокси использовать при установлении сетевых соединений. | Злонамеренный код может установить ProxySelector, который перенаправляет сетевой трафик на произвольный сетевой хост. |
| setResponseCache | Возможность установки кэша ответов, предоставляющего доступ к локальному кэшу ответов. | Злонамеренный код, получивший доступ к локальному кэшу ответов, может получить доступ к конфиденциальной информации или создать ложные записи в кэше ответов. |
| setSocketImpl | Возможность создания подкласса Socket или ServerSocket с пользовательским SocketImpl. | Злонамеренный пользовательский SocketImpl может изменить поведение Socket и ServerSocket неожиданным образом, благодаря своей способности получить доступ к защищенным полям SocketImpl. |
| specifyStreamHandler | Возможность указания обработчика потока при построении URL. | Злонамеренный код может создать URL с ресурсами, к которым у него обычно нет доступа (например, file:/foo/fum/), указав обработчик потока, который получает фактические байты из места, к которому у него есть доступ. Таким образом, он может обмануть систему, чтобы она создала ProtectionDomain/CodeSource для класса, даже если этот класс на самом деле не пришел из этого расположения. |
- С тех пор как:
- 1.2
- См. также:
-
BasicPermission,Permission,Permissions,PermissionCollection,SecurityManager, Сериализованная форма
Конструкторы
| Конструктор | Описание |
|---|---|
NetPermission(String name) |
Создаёт новый NetPermission с указанным именем. |
NetPermission(String name,
String actions) |
Создаёт новый объект NetPermission с указанным именем. |
Методы
Методы, объявленные в классе 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
Конструкторы
NetPermission
public NetPermission(String name)
Создаёт новый NetPermission с указанным именем. Имя — это символическое имя NetPermission, например, «setDefaultAuthenticator» и т. д. Звездочка может появляться в конце имени после точки или сама по себе, чтобы обозначить соответствие по шаблону.
- Параметры:
-
name— имя NetPermission. - Исключения:
-
NullPointerException— еслиnameравноnull. -
IllegalArgumentException— еслиnameпустое.
NetPermission
public NetPermission(String name,
String actions)
Создаёт новый объект NetPermission с указанным именем. Имя — это символическое имя NetPermission, а строка actions в настоящее время не используется и должна быть равна null.
- Параметры:
-
name— имя NetPermission. -
actions— должно быть равно null. - Исключения:
-
NullPointerException— еслиnameравноnull. -
IllegalArgumentException— еслиnameпустое.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/NetPermission.html