Net.Data 初期設定ファイルで FFI_PATH パス構成ステートメントを使用して、 FFI 関数を使用するときに指定できるディレクトリーおよびサブディレクトリーをリストしたり、 パス・ステートメントに指定されたディレクトリーに含まれていないファイルの機密保護を提供したりします。Net.Data 初期設定ファイルは FFI_PATH なしで出荷されます。 パスの構成方法については、 Net.Data 管理およびプログラミングの手引き を参照してください。
FFI_PATH は以下の構文を使用します。
FFI_PATH /path1;/path2;/path3...
マクロ関数内で FFI 言語環境を呼び出すときに、 FFI 関数の filename パラメーターを使用して、 その FFI 関数が操作するフラット・ファイルへのパスを指定します。 たとえば、以下のようにします。
%DEFINE myfile = "/macros/myfile.txt" @DTWF_READ(myfile, ...)
以下のセクションに分けて説明します。
Net.Data は、FFI 関数の filename パラメーターを使用して、 Net.Data 初期設定ファイルファイル内の FFI_PATH ステートメントを検索し、 指定されたディレクトリーを使用するのか、あるいは現行ディレクトリーを使用するのかを判別します。
FFI 関数でファイル名が指定されると、Net.Data は、 指定された最初のパスから開始して、FFI_PATH にリストされたそれぞれのパスを検索して、 そのファイルを見付けようとします。 Net.Data は、検出した最初のコピーを使用します。 ファイルが見つからなかった場合には、Net.Data は、 Net.Data が実行されているプロセスまたはスレッドの現行作業ディレクトリーからそのファイルを見つけようとします。
例: Net.Data が FFI_PATH 構成ステートメントを使用してファイルを見付けます。
FFI_PATH には以下のディレクトリーが含まれています。
FFI_PATH /macros;/macros/org1;/macros/org2
また、ファイルは現行ディレクトリーおよび /macros/org1 の両方に配置されます。 関数呼び出しが以下の場合、
DTWF_READ("myfile.txt")
Net.Data は /macros/org1/myfile.txt を使用します。
既存のファイルを読み取るために DTWF_READ 関数が使用されている場合に、 myfile.txt というファイル名が指定されていると、 Net.Data は、上で指定されたパスのリストが FFI_PATH に含まれているものと想定して、 ディレクトリー /macros、/macros/org1、 および /macros/org2 からそのファイルを探索します。
Net.Data の現行ディレクトリーは、ユーザーの Web サーバーの構成によって異なります。
Net.Data がフラット・ファイル・データ・ソースにアクセスできるようにするために、 以下の推奨事項に従ってください。
Net.Data 初期設定ファイル内で FFI_PATH を追加または更新するときには、 以下の規則を使用してください。
FFI 関数がアクセスすることのできるファイルは、 Net.Data 初期設定ファイルの FFI_PATH ステートメントを使用して指定することができます。 FFI は、このステートメントでリストされたパスだけを検索するため、 その他のディレクトリー内のファイルは無許可アクセスから保護されます。
たとえば、パブリックまたはゲスト・ユーザー ID のディレクトリーを指定して、 次に示すような FFI_PATH を指定することができます。
FFI_PATH C:\public;E:\WWW;E:\guest;A:
次のリストは、フラット・ファイルをセキュアにするための推奨事項を示しています。
Net.Data が実行されるユーザー ID が、 FFI 組み込み関数によって使用されるファイルへのアクセス権限を必ず持つようにします。 詳しくは、 Net.Data 管理およびプログラミングの手引き の構成の章にある、 Net.Data ファイルへの Web サーバーのアクセス権限の指定に関するセクションを参照してください。