我有一个应用程序,允许用户从填充了一些数据的自定义模板中导出文件,现在他们可以选择保存到的位置。如果文件已经存在,它将根据他们的偏好覆盖它或生成一个新名称。
它将导出到的任何文件夹/文件名以及是否会覆盖该文件(如果存在或不存在)都存储在用户创建和保存的配置文件中。然后他所做的就是运行这个文件,应用程序将开始收集数据并导出这些文件。
所以危险是我可以向你发送一个保存到 C 驱动器的配置文件,你需要做的就是打开它并运行它,如果它们碰巧有相同的文件,它可能会覆盖你在 C 驱动器上的文件姓名。我正在考虑做的是让用户选择一个保存文件的文件夹,并将此首选项存储在配置文件中,但将其保存为用户首选项,因此如果我给您一个配置文件,该文件将导出到任何您选择导出到的文件夹。不过,配置文件将确定文件名。
很容易迫使他们只输入有效的文件字符作为文件名(这将排除该\
字符),但我想允许他们在配置文件中输入子文件夹和文件名,而不是只输入文件名,这样他们可以更好地组织他们导出的文件。但如果我这样做,他们可以输入类似的..\..\something_important.exe
内容,这将保存在用户为其导出定义的文件夹之外。您如何确保他们可以进入类似\sub\subsub\myfile.txt
但不喜欢的路径..\..\myfile.txt
。..\
确保路径中没有字符串就足够了吗?有没有其他类似..\
的代码可以让他们在文件夹树上导航?