开发者

Check if path is on network

In my app I have a dialog in which the user can select a database backup location.

I want to warn the user if the location he/she selected is "probably not secure".

I want to consider the following locations sec开发者_运维知识库ure:

  1. When selected folder is on a network

    (either by a mapped drive (I:\Backup) or UNC notation(\\server2\backup))

  2. When selected folder is on a different physical disk than the database folder

How can I get this kind of info about a selected folder?

I know about the DriveInfo class, but it only handles drive letters, not UNC paths.


Take a look at the PathIsNetworkPath function:

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

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


Have a look at the DirectoryInfo object. Open one on the selected path and you can check many things. Perhaps you might want to fetch the DirectorySecurity and check if the path is locked down.

A proactive programmer might create a new folder for his/her application backup and create a strong ACL themselves...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜