プライマリ・コンテンツに移動

Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド リリース5.1 E83810-03 |
| 目次 | 索引

前 | 次 |

# 19.2 セキュリティに関する開発者のベスト・プラクティスの理解

このセクションでは、Oracle Application Express開発者のためのセキュリティのベスト・プラクティスについて説明します。

トピック:

- タイプ・パスワードのアイテムについて
- 問題を引き起こす可能性のあるパスワード・アイテムの識別
- クロスサイト・スクリプティング保護の理解
- セッション・ステートおよびセキュリティについて
- セッション・ステート保護の理解
- ファイルのアップロードの保護について

関連項目:

- 「セキュリティに関する管理者のベスト・プラクティスの理解」

- 「Oracle Application Express管理者のロールについて」

## 19.2.1 タイプ・パスワードのアイテムについて

パスワード・アイテムは、Webブラウザ画面に入力されたテキストを表示しません。パスワード・アイテムを作成するときは、セッション・ステートを保存しないパスワード属性を使用することをお薦めします。これによって、パスワードがセッション・ステート表のデータベースに保存されるのを回避できます。

設定可能なパスワード・アイテム・タイプ属性は、次のとおりです。

- 必須の値: 「はい」に設定し、ページ・アイテムが表示されている場合、Oracle Application Expressでは、ページの送信時にNOT NULL検証が自動的に実行されます。「いいえ」に設定すると、検証が行われず、NULL値が受け入れられます。

- [Enter]を押すと送信: 「はい」に設定した場合、ユーザーがフィールドで[ENTER]キーを押すと、ページが送信されます。

- 状態を保存しない: 「はい」に設定すると、パスワードがセッション・ステートに保存されません。セキュリティ上の理由により、この属性は常に「はい」に設定する必要があります。「いいえ」に設定する場合は、「セッション・ステートに暗号化された値を保存」属性を「はい」に設定することを考慮してください。

- 認可スキーム: オプションで認可スキームを選択します。このコンポーネントをレンダリングまたは処理するためには、この認可スキームがTRUEと評価される必要があります。

- セッション・ステート保護: この属性を「制限なし」または「制限付き」に設定して、セッション・ステート保護のレベルを選択できます。

  - 制限なし: URLまたはフォームでアイテムを渡して、アイテムを設定できます。URLにチェックサムは必要ありません。

  - 制限付き: アイテムをブラウザから設定することはできません。アイテムの値を内部プロセス、計算などに設定できる方法を制限する場合は、このオプションを使用します。この属性は、データ・エントリ・アイテムとして使用できないアイテムのみに適用され、「セッション・ステート保護」が無効になっていても常に監視されます。

- セッション・ステートに暗号化された値を保存: 機密のセッション・ステートは、Application Expressセッション・ステート管理表に格納するときに暗号化することができます。このアイテムの暗号化されたセッション・ステートを保持するには、この値を「はい」に設定します。詳細は、セッション・ステートおよびセキュリティについてを参照してください。

関連項目:

- アイテム・タイプについて

- 「ページ・デザイナでのページ・レベル・アイテムの編集」

- 「コンポーネント・ビューでのページ・レベル・アイテムの作成」

## 19.2.2 問題を引き起こす可能性のあるパスワード・アイテムの識別

問題を引き起こす可能性のあるパスワード・アイテムは、次のいずれかです。

- セッション・ステートを保存しないパスワード・アイテム・タイプを1つも使用しないもの。

- 暗号化していない値をセッション・ステートに格納するもの。

この項では、「セキュリティ・プロファイル」および「パスワード・アイテム」レポートを使用して、問題を引き起こす可能性のあるパスワード・アイテムを識別する方法について説明します。

トピック:

- 「セキュリティ・プロファイル」レポートの表示
- 「パスワード・アイテム」レポートの表示

### 19.2.2.1 「セキュリティ・プロファイル」レポートの表示

「セキュリティ・プロファイル」レポートを表示するには、次のステップを実行します。

1. 「ワークスペース」ホームページにナビゲートします。
2. 「アプリケーション・ビルダー」アイコンをクリックします。

   アプリケーション・ビルダーのホームページが表示されます。

3. 「ワークスペース・ユーティリティ」アイコンをクリックします。
4. ウィンドウの右側に、「アプリケーション間レポート」があります。
5. 「アプリケーション間レポート」で、「セキュリティ・プロファイル」レポートをクリックします。

   このレポートには、現在のワークスペース内のすべてのアプリケーションに関する次の情報が表示されます。

   - アプリケーション

   - 名前

   - 解析対象スキーマ

   - アプリケーション・レベル認可スキーム

   - 認証

   - 認可スキーム

   - 認可スキーム

   - ページ

   - 暗号化アイテム

   - 問題を引き起こす可能性のあるパスワード・アイテム

### 19.2.2.2 「パスワード・アイテム」レポートの表示

問題を引き起こす可能性のあるパスワード・アイテムを識別するには、次のステップを実行します。

1. 「ワークスペース」ホームページにナビゲートします。
2. 「アプリケーション・ビルダー」アイコンをクリックします。

   アプリケーション・ビルダーのホームページが表示されます。

3. 「ワークスペース・ユーティリティ」アイコンをクリックします。
4. ウィンドウの右側に、「アプリケーション間レポート」があります。
5. 「アプリケーション間レポート」で、「パスワード・アイテム」をクリックします。

   「パスワード・アイテム」レポートには、アプリケーション内にあるすべてのパスワード・アイテムが、暗号化を使用するかどうかおよびステートを保存するかどうかとともに表示されます。いずれも行わないパスワード・アイテムは、`「問題を引き起こす可能性」`とハイライトされます。

ヒント:

パスワード・アイテムを含むページで、ページ属性「フォームのオートコンプリート」を「オフ」に設定します。この属性を「オフ」に設定すると、Webブラウザによって、ページでアイテムのオートコンプリートが試行されなくなります。

## 19.2.3 クロスサイト・スクリプティング保護の理解

この項では、クロスサイト・スクリプティング・セキュリティ攻撃からアプリケーションを保護するためのベスト・プラクティスについて説明します。

トピック:

- クロスサイト・スクリプティング・セキュリティ攻撃の概要
- HTMLリージョンなどの静的領域の保護
- 動的出力の保護について
- レポート・リージョンの保護について
- フォーム・アイテムの保護について
- アイテムに入力する文字の制限について

### 19.2.3.1 クロスサイト・スクリプティング・セキュリティ攻撃の概要

クロスサイト・スクリプティング(XSS)は、動的に生成されるWebページを利用するセキュリティ攻撃です。XSS攻撃では、ユーザーのブラウザに読み込まれたときにアクティブになるスクリプトがWebアプリケーションに送信されます。これらのスクリプトがアクティブになると、データまたは場合によってはセッション資格証明が盗まれ、それらの情報が攻撃者に送信される可能性があります。

悪意のあるコードがOracle Application Expressアプリケーションに侵入すると、通常のページ・レンダリング時に、そのコードがアプリケーション内のHTMLリージョンや他の場所にレンダリングされる可能性があります。セッション・ステートへの不正なコードの挿入を阻止するため、Application Expressエンジンは特定の場合に文字をエスケープします。

### 19.2.3.2 HTMLリージョンなどの静的領域の保護

この項では、HTMLリージョンなどの静的表示領域を保護する方法について説明します。

トピック:

- HTMLリージョンなどの静的領域の保護について
- 安全なアイテム表示タイプの概要
- 値をエスケープするかどうかを決定するために使用されるルールについて
- 安全なアイテム・タイプを使用したHTMLマークアップの保持および表示について

#### 19.2.3.2.1 HTMLリージョンなどの静的領域の保護について

HTMLリージョンなどの静的領域では、置換文字列を使用してセッション・ステートを参照できます。テンプレート内で使用可能な特別な置換文字列は、シャープ記号(#)で示します(例: `#ABC#`)。ページまたはアプリケーション・アイテムを参照するには、`&ITEM.`表記法を使用します。

静的表示領域の例には、HTMLリージョン、ページのヘッダーとフッター、リージョンのヘッダーとフッター、リージョン・タイトル、ボタン・ラベル、ヘルプ・テキスト、フォーム・アイテム・ラベルおよび要素の後のテキスト、テンプレート、(フィールド・テキストの前後の)ラジオ・グループ、イベント成功メッセージ、イベント・エラー・メッセージ、ナビゲーション・バー属性、アプリケーション静的置換文字列値、チャート・ラベルおよび凡例、ブレッドクラムおよびリスト・フレーム・テキスト、カレンダ・テキスト、ラベル、凡例などがあります。

開発者は、感嘆符(`!`)の後に事前定義済のフィルタ名を続けたものをページまたはアプリケーション・アイテム名、あるいはレポート列参照に追加して、置換値内の特殊文字をエスケープできます。

関連項目:

- 「置換文字列の使用について」

- 置換文字列での出力のエスケープの制御

#### 19.2.3.2.2 安全なアイテム表示タイプについて

セッション・ステートがこのように参照される場合、ページに表示される値には、参照されるアイテムが「表示のみ」で「セッション・ステートの保存」属性が「いいえ」、および特殊をエスケープが「いいえ」に設定されている場合にエスケープされる特殊文字(`<`、`>`、`&`、`"`)が含まれません。

参照されるアイテムに「セッション・ステートの保存」属性が「いいえ」に設定されている「表示のみ」以外の表示タイプが含まれている場合、ページに表示される値には、エスケープされる特殊文字が含まれます。また、アプリケーション・レベルのアイテムには、安全な表示タイプが含まれているとみなされますが、実際にフォーム・アイテムに含まれているような表示プロパティは含まれていません。

関連項目:

ページ・レベル・アイテムの理解

#### 19.2.3.2.3 値をエスケープするかどうかを決定するために使用されるルールについて

Application Expressエンジンは、事前定義済のスマート・エスケープ・ルールを使用して、セッション・ステートからフェッチされた値をエスケープするかどうか、およびいつそれを実行するかを決定します。

このルールを使用するのは、前にリストした表示タイプを使用したアイテムは、通常フィルタ処理(エスケープ)されずにブラウザに表示されることを意図したHTMLを含むテキスト用であるためです。安全に行われる方法は、これらのタイプのアイテムが常にエスケープされてアプリケーションに入力されるルールを実施する以外にありません。たとえば、ユーザーが、Oracle Application Expressのf?p URL構文を使用して、一部のテキストを安全なアイテムに渡す場合、Application Expressエンジンは値をセッション・ステートに保存する際に特殊文字をエスケープします。これにより次の2つの結果が予想されます。

1. 値に特殊文字が含まれていなかった場合、渡された値は指定されたとおりにセッション・ステートに保存される。

2. 値に特殊文字が含まれていた場合、値をセッション・ステートに保存する際に特殊文字をエスケープする。

いずれの状況でも、アイテムは、現在、前述のHTMLリージョンなどの静的領域で`&ITEM.`表記法を使用して安全に参照できます。

#### 19.2.3.2.4 安全なアイテム・タイプを使用したHTMLマークアップの保持および表示について

前にリストした安全なアイテム・タイプを使用して、ブラウザにHTMLマークアップを保持および表示します。たとえば、安全なページ・アイテム`P1_XXX`(`&P1_XXX`を使用)を参照して、太字で一部のテキストをレンダリングする要件があるとします。アイテム`P1_XXX`には次のHTMLが含まれているとします。

    <b>ABABABAB</b>

実行するには、アプリケーション・コントロール(計算、プロセス、アイテムのソース式、アイテムのデフォルト値など)を使用して、値をこれらの安全なアイテムに格納します。値をこのように挿入する場合は、コンテンツの安全性を確認します。これらの方法を使用する場合、Application Expressエンジンは、値をセッション・ステートに保存する際に特殊文字をエスケープしません。

安全なアイテムの安全性は、最終的に、アイテムがページにポストされず、ページ送信の一部としてApplication Expressエンジンに発行されないルールによって確認されます。

### 19.2.3.3 動的出力の保護について

`htp.p`などの方法を使用してセッション・ステートからフェッチし、レンダリングするアイテムは、必要に応じてコードで明示的にエスケープする必要があります。たとえば、ページ上のPL/SQL動的コンテンツ・リージョンで次を使用するとします。

    htp.p(v('SOME_ITEM'));

セッション・ステートからフェッチするアイテムの値に予期しないタグやスクリプトが含まれる可能性がある場合は、リージョンで次を使用できます。

    htp.p(apex_escape.html(:SOME_ITEM));

ただし、フェッチする値を安全にレンダリングできることが確かな場合は、この値をエスケープする必要はありません。開発者は、出力をエスケープしない方が適切な場合を判断する必要があります。

次のように、このルールに従うことをお薦めします。

- アイテムが安全なタイプでないかぎり、エスケープせずにセッション・ステートからフェッチされたアイテムを表示しないでください。

これを行うのは、開発者としてハッカーが悪意ある値を安全ではないアイテムにポストするのを防ぐ方法はないためです。アプリケーションがこれらのアイテムを一般ユーザーに見えるように表示しなくても、このルールに従わないと、ハッカーはアプリケーションを使用してXSS攻撃をマウントできることに注意してください。

関連項目:

「安全なアイテム表示タイプの概要」

### 19.2.3.4 レポート・リージョンの保護について

Application Expressエンジンは、レポートのボディでレンダリングされるデータをエスケープします。レポートのヘッダーおよびメッセージにおけるセッション・ステートへの参照は、安全なアイテム・タイプの値はエスケープされず、その他のアイテム・タイプの値はエスケープされるように、スマート・エスケープ・ルールを使用してセッション・ステートからフェッチされます。

Oracle Application Expressでは、列の「特殊文字をエスケープ」属性が「はい」に設定されている場合、レポート列のHTML特殊文字が自動的にエスケープされます。プレーン列値のかわりにHTMLフラグメントをレンダリングする必要がある場合(たとえば、ハイライトのために)、(「特殊文字をエスケープ」の使用を妨げる)問合せ自体でのHTMLフラグメントの連結を行わずに、レポート列の「HTML式」属性を使用する必要があります。「HTML式」属性で、静的HTMLを入力し、`#COLUMN#`表記法を使用してエスケープされた列値を埋め込むことができます。拡張された列表記法により、Oracle Application Expressが列値をエスケープする方法を制御できます。

- `#COLUMN!HTML#` - 予約済のHTML文字をエスケープします。

- `#COLUMN!ATTR#` - HTML属性のコンテキストで予約済の文字をエスケープします。

- `#COLUMN!JS#` - JavaScriptのコンテキストで予約済の文字をエスケープします。

- `#COLUMN!RAW#` - 元のアイテム値を保持し、文字をエスケープしません。

- `#COLUMN!STRIPHTML#` - HTMLタグを出力から削除し、予約済のHTML文字をエスケープします。

たとえば、次の問合せに基づくレポートがあるとします。

    SELECT
        empno,
        ename,
        NULL DELETE_LINK
    FROM emp

この例では、すべての列がエスケープされます。「HTML式」を`DELETE_LINK`で次のように定義できます。

    <a href="javascript:if (confirm('Do you really want to delete #ENAME!JS#?')) doSubmit('DELETE-#EMPNO#');">Delete</a>

この例では、従業員を削除するかどうかを確認するリンクがレンダリングされ、ユーザーが確認した場合は、行を削除するリクエストが送信されます。`#ENAME!JS#`ではなく`#ENAME#`を使用した場合、O'Neillのような名前は構文エラーの原因となり、攻撃者は不適切なエスケープをクロスサイト・スクリプティングに利用できます。

関連項目:

- 置換文字列での出力のエスケープの制御

- ページ・デザイナでの対話モード・レポート列属性の編集

- 「コンポーネント・ビューでの列属性の編集」

### 19.2.3.5 フォーム・アイテムの保護について

ブラウザに送信されるフォーム・ページの生成中に、フォーム・アイテム(隠しアイテムなど)が値を取得する場合、結果テキストはレンダリング前にエスケープされます。一部の安全なアイテム・タイプは、各表示タイプの意図する動作をサポートするため、このルールにおける例外となります。

一部のアイテム・タイプには、「特殊文字をエスケープ」セキュリティ属性があります。「特殊文字をエスケープ」属性を使用して、値をエスケープするかどうかを指定します。デフォルトでは「はい」に設定されています。HTMLコードを表示する場合は、この属性を「いいえ」に設定します。

開発者は、感嘆符(`!`)の後に事前定義済のフィルタ名を続けたものをページまたはアプリケーション・アイテム名、あるいはレポート列参照に追加して、置換値内の特殊文字をエスケープできます。

関連項目:

置換文字列での出力のエスケープの制御

### 19.2.3.6 アイテムに入力する文字の制限について

ユーザーがアイテムに入力できる文字を制限することで、クロスサイト・スクリプティングおよびその他のインジェクション攻撃を制限できます。これを行うためには、「ページ・アイテムの編集」ページの「セキュリティ」リージョンで「制限付き文字」属性を使用します。「制限付き文字」はセッション・ステートに保存できます。使用可能なオプションは次のとおりです。

- - すべての文字を許可 -

  制限は適用されません。

- a-Z、0-9と空白のホワイトリスト

  文字a-z、A-Z、0-9および空白のみ許可されます。

- ブラックリストHTMLコマンド文字(<>")。

  予約済のHTML文字は許可されません。

- ブラックリスト&<>"/;,*|=%および--

  &、<、>、"、/、;、","、*、|、=、%および"--" (PL/SQLコメント)は許可されません。

- ブラックリスト&<>"/;,*|=%または--と改行

  &、<、>、"、/、;、","、*、|、=、%、"--"、および改行文字は許可されません。

制限を選択する場合、選択された文字制限に一致しないデータをユーザーが保存しようとすると、Oracle Application Expressからエラー・メッセージが表示されます。

関連項目:

「ページ・アイテムのセキュリティの構成」

## 19.2.4 セッション・ステートおよびセキュリティについて

Oracle Application Expressは、データベース表にセッション・ステートを保持します。セッション・ステートがデータベース表で保持されるのは、サーバー側にセッション・ステートを格納すると、クライアント側に格納する場合よりセキュアになるためです。Oracle Application ExpressアプリケーションはステートレスHTTPプロトコルを使用するため、複数のページ・ビューにわたるアプリケーションのセッション・ステートがデータベース表に保持されます。各Oracle Application Expressアプリケーション・ユーザーの同期データベース接続を保持しない場合は、メモリーおよびデータベース・リソースの要件が大幅に削減されます。

開発者は、アプリケーション・ビルダーおよび組込みの監視ページを使用して、Oracle Application Expressアプリケーションによって格納されたセッション・ステートを問い合せることができます。開発者および管理者は、認証されているワークスペースのアプリケーションにアクセスできます。

開発者のベスト・プラクティスには、次のものが含まれます。

- プログラムの制御フローの標準的な実装の一環として、クリア・キャッシュ・ページ・プロセスまたはページへのナビゲートに使用されるURLのクリア・キャッシュ・ディレクティブを使用して不要な値のセッション・ステートを消去します。

- ステートを保存しないパスワード・ページ・アイテム・タイプを使用します。これを使用すると、入力したパスワードがデータベースのセッション・ステート表に保存されません。

- セッションに機密データを保持する必要がある場合は、Oracle Application Expressのセッション・ステート表に暗号化した形式で保存する必要があります。この機能を使用するには、ページ・アイテムの「セッション・ステートに暗号化された値を保存」属性を「はい」に設定します。暗号化されて保存された値は、読取り時に自動的に複合化されます。

注意:

暗号化されたセッション・ステートの目的は、Oracle Application Expressのセッション・ステート表、デバッグ出力またはデータベース・データファイルへのアクセス権を持っている可能性のある他のOracle Application Express開発者やデータベース管理者に、暗号化された値が読み取られないようにするセッション・ステートを保持することです。データベースのバックアップを行う際は、バックアップ・ファイルでデータを暗号化する機能を使用することをお薦めします。

ヒント:

アイテム値は、最大で4000バイト長まで暗号化できます。4000バイトを超える値を暗号化しようとすると、エラー・メッセージが表示されます。

## 19.2.5 セッション・ステート保護の理解

セッション・ステート保護は、ハッカーがアプリケーション内のURLを改ざんするのを防ぐための組込み機能です。URL改ざんにより、プログラム・ロジック、セッション・ステートの内容および情報プライバシが悪影響を受ける可能性があります。

トピック:

- セッション・ステート保護の仕組み
- セッション・ステート保護の有効化
- セッション・ステート保護の構成

### 19.2.5.1 セッション・ステート保護の仕組み

セッション・ステート保護を有効にすると、「ページ・アクセス保護」属性と「セッション・ステート保護」項目属性が、`f?p=` URL内に配置されたチェックサムとともに使用され、URL改ざんと、セッション・ステートに対する権限のないアクセスおよび変更が防止されます。セッション・ステート保護を無効にすると、セッション・ステート保護に関連するページ属性および項目属性が無視され、生成される`f?p=` URLにはチェックサムが含まれません。

### 19.2.5.2 セッション・ステート保護の有効化

セッション・ステート保護は、セキュリティ属性の編集ページまたはセッション・ステート保護ページから有効にできます。

セッション・ステート保護は2ステップのプロセスで有効にします。最初に、この機能を有効にします。次に、ページおよびアイテムのセキュリティ属性を設定します。これらのステップは、ウィザードを使用して実行するか、セッション・ステート保護ページでページおよびアイテムのセキュリティ属性を手動で設定して行います。

トピック:

- 「セキュリティ属性の編集」からのセッション・ステート保護の有効化
- 「セッション・ステート保護」からのセッション・ステート保護の有効化

#### 19.2.5.2.1 「セキュリティ属性の編集」からのセッション・ステート保護の有効化

セキュリティ属性の編集ページからセッション・ステート保護を有効にするには、次のステップを実行します。

1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
2. アプリケーションを選択します。
3. 「共有コンポーネント」アイコンをクリックします。
4. 「セキュリティ」で、「セキュリティ属性」をクリックします。
5. 「セッション・ステート保護」までスクロールして、「セッション・ステート保護」リストの「有効」を選択します。
6. セッション・ステート保護を構成するには、「セッション・ステート保護の管理」をクリックします。

   セッション・ステート保護ページが表示されます。

7. ウィザードを使用してセッション・ステート保護の有効化、無効化または構成を行うには、「保護の設定」をクリックします。
8. あるいは、適切なページまたはアイテム属性ページにナビゲートし、「セキュリティ」属性を設定します。

ヒント:

セッション・ステート保護を無効にするには、同じステップを再度実行しますが、「有効」のかわりに「無効」を選択します。セッション・ステート保護を無効にしても、既存のセキュリティ属性の設定は変更されませんが、それらの属性は実行時に無視されます。

トピック:

- 「ブックマークの無効化」ボタン

##### 19.2.5.2.1.1 「ブックマークの無効化」ボタンについて

セッション・ステート保護を有効にすると、カレント・アプリケーションへのブックマーク・リンクが機能するかどうかに影響します。次の規則を考慮してください。

1. セッション・ステート保護を有効にした後に作成したブックマーク・リンクは、ブックマーク・リンクにチェックサムが含まれている場合に機能します。

2. セッション・ステート保護を有効にする前に作成したブックマーク・リンクは、ブックマーク・リンクにチェックサムが含まれている場合は機能しません。

3. チェックサムが含まれていないか、または不要なチェックサムが含まれているブックマークは、セッション・ステート保護の影響を受けません。

ページ・レンダリング時、Application Expressエンジンは、計算中に非表示のアプリケーション属性(チェックサムsalt)を使用し、`f?p` URLに含まれているチェックサムを確認します。セッション・ステート保護を有効にすると、Application Expressエンジンにチェックサムが含まれます。チェックサムsalt属性を再設定するには、セキュリティ属性の編集ページで「ブックマークの無効化」をクリックします。

ヒント:

「ブックマークの無効化」,をクリックすると、アプリケーションへのアクセスに使用されるブックマークURLは、このアプリケーションに以前に生成されたチェックサムが含まれる場合は失敗するので注意してください。

ブックマークの無効化の確認ページで、ブックマーク・チェックサムの計算に使用されるハッシュ・アルゴリズムであるブックマーク・チェックサム・ファンクションを構成することもできます。

#### 19.2.5.2.2 「セッション・ステート保護」からのセッション・ステート保護の有効化

セッション・ステート保護を有効にするには、次のステップを実行します。

1. 共有コンポーネント・ページにナビゲートします。
   1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
   2. アプリケーションを選択します。
   3. 「共有コンポーネント」をクリックします。
   4. 「セキュリティ」で、「セッション・ステート保護」を選択します。

      セッション・ステート保護ページが表示されます。セッション・ステート保護の現行のステータス(有効または無効)がページ上部に表示されることに注意してください。

2. 「保護の設定」ボタンをクリックします。

   「セッション・ステート保護」ウィザードが表示されます。

3. 「操作の選択」で、「有効化」を選択して、「次へ」をクリックします。

   次に、ページおよびアイテムのセキュリティ属性を設定するかどうか決定します。

4. 「有効化」を選択して、「次へ」をクリックします。
5. 「セッション・ステート保護の有効化」をクリックします。

ヒント:

セッション・ステート保護を無効にするには、同じステップを実行しますが、「有効化」のかわりに「無効化」を選択します。セッション・ステート保護を無効にしても、既存のセキュリティ属性の設定は変更されませんが、それらの属性は実行時に無視されます。

### 19.2.5.3 セッション・ステート保護の構成

ヒント:

セキュリティ属性を構成する前に、まずセッション・ステート保護を有効にする必要があります。セッション・ステート保護の有効化を参照してください。

トピック:

- セッション・ステート保護の構成について
- 既存のセッション・ステート保護設定の確認
- ウィザードを使用したセッション・ステート保護の構成
- ページのセッション・ステート保護の構成
- ページ・アイテムのセッション・ステート保護の構成
- アプリケーション・アイテムのセッション・ステート保護の構成

#### 19.2.5.3.1 セッション・ステート保護の構成について

セッション・ステート保護を有効にした後、セキュリティ属性を構成します。セキュリティ属性は2つの方法で構成できます。

- ウィザードを使用し、特定の属性カテゴリの値を選択する。この場合、選択内容がアプリケーション内のすべてのページおよびアイテムに適用されます。

- 個々のページ、アイテムまたはアプリケーション・アイテムの値を構成する。

#### 19.2.5.3.2 既存のセッション・ステート保護設定の確認

「セッション・ステート保護」ウィザードの最初のページでは、ページ、アイテムおよびアプリケーション・アイテムのセッション・ステート保護設定のサマリーを確認できます。

既存のセッション・ステート保護設定のサマリーを表示するには、次のステップを実行します。

1. 「セッション・ステート保護」ページにナビゲートします。
   1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
   2. アプリケーションを選択します。
   3. 「共有コンポーネント」をクリックします。
   4. 「セキュリティ」で、「セッション・ステート保護」を選択します。

      セッション・ステート保護ページが表示されます。

2. 「保護の設定」をクリックします。
3. ページ下部で次のレポートを開きます。

   - ページ・レベルのセッション・ステート保護サマリー

   - ページ・アイテムのセッション・ステート保護サマリー

   - アプリケーション・アイテムのセッション・ステート保護

#### 19.2.5.3.3 ウィザードを使用したセッション・ステート保護の構成

ウィザードを使用してセッション・ステート保護を構成するときは、特定の属性カテゴリの値を設定します。この場合、選択内容がアプリケーション内のすべてのページおよびアイテムに適用されます。

ウィザードを使用してセッション・ステート保護を構成するには、次のステップを実行します。

1. 「セッション・ステート保護」ページにナビゲートします。
   1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
   2. アプリケーションを選択します。
   3. 「共有コンポーネント」をクリックします。
   4. 「セキュリティ」で、「セッション・ステート保護」を選択します。

      セッション・ステート保護ページが表示されます。

2. 「保護の設定」をクリックします。

   「セッション・ステート保護」ウィザードが表示されます。

3. 「操作の選択」で、「構成」を選択して、「次へ」をクリックします。
4. 「ページ・アクセス保護」で、次のいずれかを選択します。

   - 制限なし: セッション・ステート引数(Request、Clear Cache、Name/Values)の有無にかかわらず、URLを使用してページを要求できます。

   - 引数にチェックサムが必要: URLにRequest、Clear CacheまたはName/Value引数が表示されている場合は、チェックサムも提供する必要があります。チェックサム・タイプは、引数として渡されるすべてのアイテムの最も厳密なセッション・ステート保護属性と互換性がある必要があります。

   - 引数使用不可: URLを使用してページを要求できますが、Request、Clear CacheまたはName/Value引数は許可されません。

   - URLアクセスなし: URLを使用してページにアクセスできませんが、ページは、URLリダイレクトを行わない「ページにブランチ」ブランチ・タイプのターゲットにできます。

5. 「アプリケーション・アイテム保護」で、次のいずれかの項目を選択します。

   - 制限なし: URLまたはフォームでアイテム名/値を渡して、アイテムのセッション・ステートを設定できます。URLにチェックサムは必要ありません。

     注意: Ajaxを使用してこのアイテムの値をセッション・ステートに設定する必要がある場合は、アイテムに対して「制限なし」保護レベルを使用する必要があります(たとえば「動的アクション」の場合は、「値の設定」、「送信するページ・アイテム」または「カスケードLOV」、「送信するページ・アイテム」)。

   - チェックサムが必要 - アプリケーション・レベル: スキーマ固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。ユーザー・レベル・チェックサムまたはセッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: ユーザー・レベル: ワークスペース、アプリケーションおよびユーザー固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。セッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: セッション・レベル: カレント・セッション固有のチェックサムも入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。カレント・セッションで生成されたチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - 制限付き - ブラウザから設定できない: URLまたはPOSTDATAを使用してアイテムを変更できません。アイテムの値を内部プロセス、計算などに設定できる方法を制限する場合は、このオプションを使用します。この属性は、データ・エントリ・アイテムとして使用できないアイテムのみに適用され、セッション・ステート保護が無効になっていても常に監視されます。

     次の表示形式タイプのアプリケーション・アイテムまたはページ・アイテムについては、この属性を使用します。

     - テキストとして表示(特殊文字をエスケープし、状態は保存しない)

     - テキストとして表示(状態は保存しない)

     - テキストとして表示(LOVに基づき、状態は保存しない)

     - テキストとして表示(PL/SQLに基づき、状態は保存しない)

     - テキスト・フィールド(無効、状態を保存しない)

     - HTML表の停止および開始(ラベルのみ表示)

6. 「ページのデータ・エントリ・アイテム保護」で、次のいずれかの項目を選択します。

   - 制限なし: URLまたはフォームでアイテム名/値を渡して、アイテムのセッション・ステートを設定できます。URLにチェックサムは必要ありません。

     注意: Ajaxを使用してこのアイテムの値をセッション・ステートに設定する必要がある場合は、アイテムに対して「制限なし」保護レベルを使用する必要があります(たとえば「動的アクション」の場合は、「値の設定」、「送信するページ・アイテム」または「カスケードLOV」、「送信するページ・アイテム」)。

   - チェックサムが必要 - アプリケーション・レベル: スキーマ固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。ユーザー・レベル・チェックサムまたはセッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: ユーザー・レベル: ワークスペース、アプリケーションおよびユーザー固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。セッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: セッション・レベル: カレント・セッション固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。カレント・セッションで生成されたチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

7. 「ページの表示専用アイテム保護」で、次のいずれかの項目を選択します。

   - 制限なし: URLまたはフォームでアイテムの名前/値を渡して、アイテムを設定できます。URLにチェックサムは必要ありません。

     注意: Ajaxを使用してこのアイテムの値をセッション・ステートに設定する必要がある場合は、アイテムに対して「制限なし」保護レベルを使用する必要があります(たとえば「動的アクション」の場合は、「値の設定」、「送信するページ・アイテム」または「カスケードLOV」、「送信するページ・アイテム」)。

   - チェックサムが必要 - アプリケーション・レベル: スキーマ固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。ユーザー・レベル・チェックサムまたはセッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: セッション・レベル: カレント・セッション固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。カレント・セッションで生成されたチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: ユーザー・レベル: ワークスペース、アプリケーションおよびユーザー固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。セッション・レベル・チェックサムも使用できます。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - 制限付き - ブラウザから設定できない: URLまたはPOSTDATAを使用してアイテムを変更できません。アイテムの値を内部プロセス、計算などに設定できる方法を制限する場合は、このオプションを使用します。この属性は、セッション・ステート保護が無効になっていても、常に監視されます。

     次の表示形式タイプについては、この属性を使用します。

     - テキストとして表示(特殊文字をエスケープし、状態は保存しない)

     - テキストとして表示(状態は保存しない)

     - テキストとして表示(LOVに基づき、状態は保存しない)

     - テキストとして表示(PL/SQLに基づき、状態は保存しない)

     - テキスト・フィールド(無効、状態を保存しない)

     - HTML表の停止および開始(ラベルのみ表示)

8. 「次へ」をクリックします。
9. 「終了」をクリックします。

#### 19.2.5.3.4 ページのセッション・ステート保護の構成

ページのセッション・ステート保護を構成するには、次のステップを実行します。

1. 「セッション・ステート保護」ページにナビゲートします。
   1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
   2. アプリケーションを選択します。
   3. 「共有コンポーネント」をクリックします。
   4. 「セキュリティ」で、「セッション・ステート保護」を選択します。

      セッション・ステート保護ページが表示されます。

2. 「ページ」アイコンをクリックします。
3. ページ上部の検索バーを使用してページの概観をカスタマイズできます。
4. ページ番号を選択します。

   「ページおよびアイテム保護の設定」ページが表示されます。次の情報がページの上部に表示されます。

   - アプリケーションIDおよび名前

   - セッション・ステート保護のステータス(有効または無効)

   - ページ番号

   - ページ名

5. 「ページ・アクセス保護」で、次のいずれかを選択します。

   - 制限なし: セッション・ステート引数(Request、Clear Cache、Name/Values)の有無にかかわらず、URLを使用してページを要求できます。

   - 引数にチェックサムが必要: URLにRequest、Clear CacheまたはName/Value引数が表示されている場合は、チェックサムも提供する必要があります。チェックサム・タイプは、引数として渡されるすべてのアイテムの最も厳密なセッション・ステート保護属性と互換性がある必要があります。

   - 引数使用不可: URLを使用してページを要求できますが、Request、Clear CacheまたはName/Value引数は許可されません。

   - URLアクセスなし: URLを使用してページにアクセスできませんが、ページは、URLリダイレクトを行わない「ページにブランチ」ブランチ・タイプのターゲットにできます。

6. 「アイテム・タイプ」で、「データ・エントリ・アイテム」または「表示専用アイテム」を選択します。

   データ・エントリ・アイテムは、フォームを使用して変更できるアイテムであり、非表示アイテムもこれに含まれます。表示専用アイテムはレンダリングされるだけで、フォームとともに送信されません。

7. 「データ・エントリ・アイテム」を選択した場合は、各アイテムのセッション・ステート保護レベルを選択します。

   - 制限なし: URLまたはフォームでアイテム名/値を渡して、アイテムのセッション・ステートを設定できます。URLにチェックサムは必要ありません。

     注意: Ajaxを使用してこのアイテムの値をセッション・ステートに設定する必要がある場合は、アイテムに対して「制限なし」保護レベルを使用する必要があります(たとえば「動的アクション」の場合は、「値の設定」、「送信するページ・アイテム」または「カスケードLOV」、「送信するページ・アイテム」)。

   - チェックサムが必要 - アプリケーション・レベル: スキーマ固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。ユーザー・レベル・チェックサムまたはセッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: ユーザー・レベル: ワークスペース、アプリケーションおよびユーザー固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。セッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: セッション・レベル: カレント・セッション固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。カレント・セッションで生成されたチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

8. 「表示専用アイテム」を選択した場合は、各アイテムのセッション・ステート保護レベルを選択します。

   - 制限なし: URLまたはフォームでアイテムの名前/値を渡して、アイテムを設定できます。URLにチェックサムは必要ありません。

     注意: Ajaxを使用してこのアイテムの値をセッション・ステートに設定する必要がある場合は、アイテムに対して「制限なし」保護レベルを使用する必要があります(たとえば「動的アクション」の場合は、「値の設定」、「送信するページ・アイテム」または「カスケードLOV」、「送信するページ・アイテム」)。

   - 制限付き - ブラウザから設定できない: URLまたはPOSTDATAを使用してアイテムを変更できません。アイテムの値を内部プロセス、計算などに設定できる方法を制限する場合は、このオプションを使用します。この属性は、セッション・ステート保護が無効になっていても、常に監視されます。次の表示形式タイプについては、この属性を使用します。

     - テキストとして表示(特殊文字をエスケープし、状態は保存しない)

     - テキストとして表示(状態は保存しない)

     - テキストとして表示(LOVに基づき、状態は保存しない)

     - テキストとして表示(PL/SQLに基づき、状態は保存しない)

     - テキスト・フィールド(無効、状態を保存しない)

     - HTML表の停止および開始(ラベルのみ表示)

   - チェックサムが必要 - アプリケーション・レベル: スキーマ固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。ユーザー・レベル・チェックサムまたはセッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: ユーザー・レベル: ワークスペース、アプリケーションおよびユーザー固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。セッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: セッション・レベル: カレント・セッション固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。カレント・セッションで生成されたチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

9. 「変更の適用」をクリックします。

関連項目:

「検索バーについて」

#### 19.2.5.3.5 ページ・アイテムのセッション・ステート保護の構成

アイテムのセッション・ステート保護を構成するには、次のステップを実行します。

1. 「セッション・ステート保護」ページにナビゲートします。
   1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
   2. アプリケーションを選択します。
   3. 「共有コンポーネント」をクリックします。
   4. 「セキュリティ」で、「セッション・ステート保護」を選択します。

      セッション・ステート保護ページが表示されます。

2. 「ページ・アイテム」アイコンをクリックします。
3. ページ上部の検索バーを使用してページの概観をカスタマイズできます。
4. ページ番号を選択します。

   ページおよびアイテムのセッション・ステート保護の編集ページが表示されます。次の情報がページの上部に表示されます。

   - アプリケーションIDおよび名前

   - セッション・ステート保護のステータス(有効または無効)

   - ページ番号

   - ページ名

5. 「ページ・アクセス保護」で、各アイテムのセッション・ステート保護レベルを選択します。

   - 制限なし: セッション・ステート引数(Request、Clear Cache、Name/Values)の有無にかかわらず、URLを使用してページを要求できます。

   - 引数にチェックサムが必要: URLにRequest、Clear CacheまたはName/Value引数が表示されている場合は、チェックサムも提供する必要があります。チェックサム・タイプは、引数として渡されるすべてのアイテムの最も厳密なセッション・ステート保護属性と互換性がある必要があります。

   - 引数使用不可: URLを使用してページを要求できますが、Request、Clear CacheまたはName/Value引数は許可されません。

   - URLアクセスなし: URLを使用してページにアクセスできませんが、ページは、URLリダイレクトを行わない「ページにブランチ」ブランチ・タイプのターゲットにできます。

6. 「アイテム・タイプ」で、「データ・エントリ・アイテム」または「表示専用アイテム」を選択します。

   データ・エントリ・アイテムは、フォームを使用して変更できるアイテムであり、非表示アイテムもこれに含まれます。表示専用アイテムはレンダリングされるだけで、フォームとともに送信されません。

7. 「データ・エントリ・アイテム」を選択した場合は、各アイテムのセッション・ステート保護レベルを選択します。

   - 制限なし: URLまたはフォームでアイテム名/値を渡して、アイテムのセッション・ステートを設定できます。URLにチェックサムは必要ありません。

     注意: Ajaxを使用してこのアイテムの値をセッション・ステートに設定する必要がある場合は、アイテムに対して「制限なし」保護レベルを使用する必要があります(たとえば「動的アクション」の場合は、「値の設定」、「送信するページ・アイテム」または「カスケードLOV」、「送信するページ・アイテム」)。

   - チェックサムが必要 - アプリケーション・レベル: スキーマ固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。ユーザー・レベル・チェックサムまたはセッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: ユーザー・レベル: ワークスペース、アプリケーションおよびユーザー固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。セッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: セッション・レベル: カレント・セッション固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。カレント・セッションで生成されたチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

8. 「表示専用アイテム」を選択した場合は、各アイテムのセッション・ステート保護レベルを選択します。

   - 制限なし: URLまたはフォームでアイテムの名前/値を渡して、アイテムを設定できます。URLにチェックサムは必要ありません。

     注意: Ajaxを使用してこのアイテムの値をセッション・ステートに設定する必要がある場合は、アイテムに対して「制限なし」保護レベルを使用する必要があります(たとえば「動的アクション」の場合は、「値の設定」、「送信するページ・アイテム」、カスケードLOV、または「送信するページ・アイテム」)。

   - 制限付き - ブラウザから設定できない: URLまたはPOSTDATAを使用してアイテムを変更できません。アイテムの値を内部プロセス、計算などに設定できる方法を制限する場合は、このオプションを使用します。この属性は、セッション・ステート保護が無効になっていても、常に監視されます。次の表示形式タイプについては、この属性を使用します。

     - テキストとして表示(特殊文字をエスケープし、状態は保存しない)

     - テキストとして表示(状態は保存しない)

     - テキストとして表示(LOVに基づき、状態は保存しない)

     - テキストとして表示(PL/SQLに基づき、状態は保存しない)

     - テキスト・フィールド(無効、状態を保存しない)

     - HTML表の停止および開始(ラベルのみ表示)

   - チェックサムが必要 - アプリケーション・レベル: スキーマ固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。ユーザー・レベル・チェックサムまたはセッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: ユーザー・レベル: ワークスペース、アプリケーションおよびユーザー固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。セッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: セッション・レベル: カレント・セッション固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。カレント・セッションで生成されたチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

9. 「変更の適用」をクリックします。

関連項目:

「検索バーについて」

#### 19.2.5.3.6 アプリケーション・アイテムのセッション・ステート保護の構成

アプリケーション・アイテムのセッション・ステート保護を構成するには、次のステップを実行します。

1. 「セッション・ステート保護」ページにナビゲートします。
   1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
   2. アプリケーションを選択します。
   3. 「共有コンポーネント」をクリックします。
   4. 「セキュリティ」で、「セッション・ステート保護」を選択します。

      セッション・ステート保護ページが表示されます。

2. 「アプリケーション・アイテム」アイコンをクリックします。
3. ページ上部の検索バーを使用してページの概観をカスタマイズできます。
4. アプリケーション・アイテムを選択します。
5. 「セキュリティ」で、「セッション・ステート保護」リストから次のいずれかを選択します。

   - 制限なし: URLまたはフォームでアイテム名/値を渡して、アイテムのセッション・ステートを設定できます。URLにチェックサムは必要ありません。

     注意: Ajaxを使用してこのアイテムの値をセッション・ステートに設定する必要がある場合は、アイテムに対して「制限なし」保護レベルを使用する必要があります(たとえば「動的アクション」の場合は、「値の設定」、「送信するページ・アイテム」または「カスケードLOV」、「送信するページ・アイテム」)。

   - 制限付き - ブラウザから設定できない: URLまたはPOSTDATAを使用してアイテムを変更できません。アイテムの値を内部プロセス、計算などに設定できる方法を制限する場合は、このオプションを使用します。この属性は、データ・エントリ・アイテムとして使用できないアイテムのみに適用され、セッション・ステート保護が無効になっていても常に監視されます。次の表示形式タイプのアプリケーション・アイテムについては、この属性を使用します。

     - テキストとして表示(特殊文字をエスケープし、状態は保存しない)

     - テキストとして表示(状態は保存しない)

     - テキストとして表示(LOVに基づき、状態は保存しない)

     - テキストとして表示(PL/SQLに基づき、状態は保存しない)

     - テキスト・フィールド(無効、状態を保存しない)

     - HTML表の停止および開始(ラベルのみ表示)

   - チェックサムが必要 - アプリケーション・レベル: スキーマ固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。ユーザー・レベル・チェックサムまたはセッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: ユーザー・レベル: ワークスペース、アプリケーションおよびユーザー固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。セッション・レベル・チェックサムも使用できます(次の項目を参照)。現行のワークスペースの別のセッションで同じアプリケーションを実行しているユーザーが生成したチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

   - チェックサムが必要: セッション・レベル: カレント・セッション固有のチェックサムを入力する場合は、URLでアイテムの名前/値を渡して、アイテムのセッション・ステートを設定できます。カレント・セッションで生成されたチェックサムを含むURLによってのみ、このアイテムを設定できるようにする場合に、このオプションを使用します。

6. 「変更の適用」をクリックします。

関連項目:

「検索バーについて」

## 19.2.6 ファイルのアップロードの保護について

Oracle Application Expressを使用すると、ファイルをアップロードし、アップロードしたファイルにアクセスできるアプリケーションを簡単に作成できます。これらのファイルは、共通のファイル記憶域表にアップロードされます。データベース・ビュー`APEX_APPLICATION_FILES`では、データベース・アカウント(またはワークスペース)に関連付けられたファイルが表示されますが、共通のファイル記憶域表へのプログラムを介したアクセスでは、認証が不要な場合もあり、アップロードされたファイルを他のユーザーが参照できます。このため、開発者は、フォームおよびレポートでのBLOBサポートの理解に記載された方法か、次に示すOTNのファイル・アップロードに関するOracle Application ExpressのHow Toドキュメントに記載された方法を使用することをお薦めします。

    http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html

いずれの方法の場合も、アップロードされたファイルは、パブリック表ではなく、スキーマ表に格納されます。

関連項目:

- ページ・アイテムとアプリケーション・アイテムの違いについて

- ファイル参照ページ・レベル・アイテムの作成の詳細は、「アイテム・タイプについて」を参照してください