public final class NetPermission extends BasicPermission
ターゲット名には、ネットワーク・アクセス権(下記を参照)の名前を指定します。命名規約は、階層的なプロパティ命名規約に従います。また、ターゲット名のあとにアスタリスクを指定し(「.」のあとに指定するか、単独で指定)、ワイルドカードによる照合を行うこともできます。たとえば、「foo.*」や「*」はワイルドカード・マッチングを表しますが、「*foo」、や「a*b」は無効です。
NetPermissionに指定できるターゲット名と、それで与えられるアクセス権により可能になる操作、およびそのアクセス権をコードに与えることにより生じるリスクを次の表に示します。
アクセス権ターゲット名 | アクセス権により許可される機能 | このアクセス権を許可した場合のリスク |
---|---|---|
allowHttpTrace | HttpURLConnection内でHTTP TRACEメソッドを使用する機能。 | HTTP TRACEを使用する悪意のあるコードは、他の方法ではアクセスできないHTTPヘッダー内のセキュリティ保護を必要とする情報(Cookieなど)にアクセスできる場合があります。 |
getCookieHandler | 高レベルのセキュリティ保護を必要とする、HTTPセッションのCookie情報を処理するCookieハンドラを取得する機能。 | 悪意のあるコードは、Cookieハンドラを取得することで、高レベルのセキュリティ保護を必要とするCookie情報にアクセスできます。Webサーバーのなかには、Cookieを使ってアクセス制御情報などのユーザーの非公開情報を保存したり、ユーザーの閲覧傾向を追跡したりするものもあります。 |
getNetworkInformation | ローカル・ネットワークのインタフェースに関するすべての情報を取得する機能。 | 悪意のあるコードは、MACアドレスなどのネットワーク・ハードウェアに関する情報を読み取ることができます。これは、ローカルIPv6アドレスの作成に使用されることがあります。 |
getProxySelector | ネットワーク接続の確立時に使用すべきプロキシの決定に使用されるプロキシ・セレクタを取得する機能。 | 悪意のあるコードは、ProxySelectorを取得することで、内部ネットワーク上のプロキシ・ホストやそのポートを発見することができます。すると、それらが攻撃の標的になる可能性があります。 |
getResponseCache | ローカル応答キャッシュへのアクセス機能を提供する応答キャッシュを取得する機能。 | ローカル応答キャッシュにアクセスできる悪意のあるコードは、セキュリティ保護を必要とする情報にアクセスできます。 |
requestPasswordAuthentication | システムに登録されたオーセンティケータにパスワードを要求。 | 悪意のあるコードにより、このパスワードが盗まれる可能性があります。 |
setCookieHandler | 高レベルのセキュリティ保護を必要とする、HTTPセッションのCookie情報を処理するCookieハンドラを設定する機能。 | 悪意のあるコードは、Cookieハンドラを設定することで、高レベルのセキュリティ保護を必要とするCookie情報にアクセスできます。Webサーバーのなかには、Cookieを使ってアクセス制御情報などのユーザーの非公開情報を保存したり、ユーザーの閲覧傾向を追跡したりするものもあります。 |
setDefaultAuthenticator | プロキシまたはHTTPサーバーが証明書を要求したときに使用する、認証情報の取得方法を設定する。 | これにより、ユーザーからの入力を取得のときに、ユーザーの認証情報入力を監視し、それを盗むオーセンティケータが悪意のあるコードにより設定される可能性があります。 |
setProxySelector | ネットワーク接続の確立時に使用すべきプロキシの決定に使用されるプロキシ・セレクタを設定する機能。 | 悪意のあるコードは、ネットワーク・トラフィックをある任意のネットワーク・ホストに転送するようなProxySelectorを設定できます。 |
setResponseCache | ローカル応答キャッシュへのアクセス機能を提供する応答キャッシュを設定する機能。 | ローカル応答キャッシュにアクセスできる悪意のあるコードは、セキュリティ保護を必要とする情報にアクセスしたり、応答キャッシュ内に不正なエントリを作成したりできます。 |
specifyStreamHandler | URLの作成時にストリーム・ハンドラを指定。 | 悪質なコードが、それが実際にアクセスする場所から実効バイトを取得するストリーム・ハンドラを指定して、通常はアクセスすることのないリソース(file:/foo/fum/のように)を使ってURLを作成する可能性があります。このようにしてシステムをだまして、あるクラスの出所を偽り、そのクラスのProtectionDomain/CodeSourceを作成させてしまう可能性があります。 |
コンストラクタと説明 |
---|
NetPermission(String name)
指定された名前でNetPermissionを新しく作成します。
|
NetPermission(String name, String actions)
指定された名前でNetPermissionオブジェクトを新しく作成します。
|
equals, getActions, hashCode, implies, newPermissionCollection
checkGuard, getName, toString
public NetPermission(String name)
name
- NetPermissionの名前。NullPointerException
- name
がnull
の場合。IllegalArgumentException
- name
が空である場合。public NetPermission(String name, String actions)
name
- NetPermissionの名前。actions
- nullでなければならない。NullPointerException
- name
がnull
の場合。IllegalArgumentException
- name
が空である場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.