文件的路径问题

为了防止规范化错误之类的安全风险,也可以使用Path类

例如,它从一个固定的文档目录返回文件数据,

FileInfo file=new FileInfo(Server.MapPath(@"Document\"+TextBox1.Text));


这里用的是客户端的路径,存在一个漏洞,
  举个例子,当客户端输入..\fileName这个路径的时候,
 这样这个路径就变化了,其实他已经忽略了Document\这个路径,我们可以借助Path类


 string fileName=Path.GetFileName(TextBox1.Text);//获取最后的文件名
 FileInfo file=new FileInfo(Server.MapPath(Path.Combine(@"Documents",fileName)));//把fileName加入到Documents路径之后

如果处理Url

string uriString = "http://www.cnblogs.com/gull";
System.Uri uri= new Uri(uriString);
string page = Path.GetFileName(uri.AbsolutePath);
System.Uri baseUri = new Uri("http://g.cn");
uri = new Uri(baseUri, page);

原文地址:https://www.cnblogs.com/gull/p/1874180.html