您可以在 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 使用 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 将在目录 /macros、/macros/org1 和 /macros/org2 中 搜索该文件(假定 FFI_PATH 包含了上述指定的路径列表)。
Net.Data 的当前目录取决于您的 Web 服务器的配置:
使用以下建议以确保 Net.Data 能够访问平面文件数据源。
在 Net.Data 初始化文件中添加或更新 FFI_PATH 时使用以下规则:
您可以指定 FFI 函数可以使用 Net.Data 初始化文件中的 FFI_PATH 语句来访问 哪些文件。FFI 只搜索该语句中列出的路径,因此其它目录中的文件不会遭到未授权的访问。
例如,您可以指定一个类似于此的 FFI_PATH,从而为 public 或 guest 用户 ID 指定目录。
FFI_PATH C:\public;E:\WWW;E:\guest;A:
以下列表提供了保证平面文件安全的建议:
请确保执行 Net.Data 的用户 ID 对 FFI 内部函数所使用的文件具有访问权限。请参阅 Net.Data 管理与程序设计指南的 配置一章中关于指定 Web 服务器对 Net.Data 文件的访问权限这一部分,以获取更多信息。