检查路径是否在网络上

Rob*_*Dam 8 .net c# vb.net

在我的应用程序中,我有一个对话框,用户可以在其中选择数据库备份位置.
我想警告用户他/她选择的位置是"可能不安全".

我想考虑下列安全地点:

  1. 当选定的文件夹在网络上时
    (通过映射的驱动器(I:\Backup)或UNC表示法(\\server2\backup))
  2. 所选文件夹与数据库文件夹位于不同的物理磁盘上时

如何获得有关所选文件夹的此类信息?
我知道这个DriveInfo类,但它只处理驱动器号,而不是UNC路径.

Dar*_*rov 18

看一下PathIsNetworkPath函数:

class Program
{
    [DllImport("shlwapi.dll")]
    private static extern bool PathIsNetworkPath(string pszPath);

    static void Main(string[] args)
    {
        Console.WriteLine(PathIsNetworkPath("i:\Backup"));
    }
}
Run Code Online (Sandbox Code Playgroud)


Spe*_*nce 0

看看这个DirectoryInfo物体​​。在选定的路径上打开一个,您可以检查很多东西。也许您可能想要获取DirectorySecurity并检查路径是否已锁定。

积极主动的程序员可能会为他/她的应用程序备份创建一个新文件夹,并自己创建一个强大的 ACL...