My Progress 11.6应用程序正在使用SYSTEM-DIALOG GET-FILE命令允许用户选择文件:
DEFINE VARIABLE cFilename AS CHARACTER NO-UNDO.
DEFINE VARIABLE lResult AS LOGICAL NO-UNDO.
SYSTEM-DIALOG GET-FILE
cFilename
FILTERS "Text Files (*.txt)" "*.txt",
"All Files (*.*)" "*.*"
DEFAULT-EXTENSION ".txt"
MUST-EXIST
RETURN-TO-START-DIR
TITLE "Select File"
USE-FILENAME
UPDATE lResult.
问题是用户可以导航到Windows文件系统中的任何位置。有没有办法限制导航,也许只让他们进入启动目录但不是超出?
答案 0 :(得分:2)
system-dialog使用OS对话框。应在OS上设置安全性。 通过在操作系统级别执行此操作,安全性适用于用户有权访问的所有应用程序。
如果您的应用程序需要某个目录中的文件,则应在对话框返回后验证lResult。
答案 1 :(得分:1)
系统对话框(及其选项get-file或get-dir)在文档中没有提及安全性。在这种情况下,我认为您必须通过操作系统权限限制访问权限或编写自己的权限。