Класс 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 | Возможность установки кэша ответов, который предоставляет доступ к локальному кэшу ответов. | Злонамеренный код, получив доступ к локальному кэшу ответов, может получить доступ к конфиденциальной информации или создать ложные записи в кэше ответов. |
| specifyStreamHandler | Возможность указания обработчика потоков при построении URL. | Злонамеренный код может создать URL с ресурсами, к которым он обычно не имеет доступа (например, file:/foo/fum/), указав обработчик потоков, который получает фактические байты из места, к которому у него есть доступ. Таким образом, он может обмануть систему, чтобы она создала ProtectionDomain/CodeSource для класса, даже если этот класс на самом деле не пришёл из этого места. |
| setSocketImpl | Возможность создания подкласса Socket или ServerSocket с заданным пользователем SocketImpl. | Злонамеренные пользовательские SocketImpl могут изменить поведение Socket и ServerSocket неожиданными способами, благодаря их возможности доступа к защищённым полям SocketImpl. |
- См. также:
-
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, а строка действий в настоящее время не используется и должна быть равна 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.