3

我正在开发一个允许用户使用 UNC 路径链接文档的 ASP.Net 站点。我们的客户将此站点用于内部流程,因此其域中的所有用户都应有权访问 UNC 路径。

当用户想要添加链接文档时,他们使用 FileUpload 控件选择文件。以前在 .Net 2.0 中,控件的 PostedFile.FileName 属性返回文件名和完整的 UNC 路径。现在我们使用的是 .Net 4.0,它只返回文件名。

这是我的主要问题: 与 2.0 相比,.Net 4.0 中的 PostedFile.FileName 工作方式是否不同?

如果不是,还有什么可能导致这个问题?

4

1 回答 1

6

我认为它不是.NET,而是在安全性方面成长起来的 Internet Explorer。

这里

此外,Internet 区域的“上传文件时包括本地目录路径”URLAction 已设置为“禁用”。此更改可防止潜在敏感的本地文件系统信息泄露到 Internet。例如,Internet Explorer 8现在将只提交文件名 image.png ,而不是提交完整路径 C:\users\ericlaw\documents\secret\image.png

所以你可以

  1. 更改服务器端代码中的逻辑 - 它不应依赖于客户端文件路径位置,而应仅使用 FileUpload 控件的 FileName 属性。

  2. 启用 IE 8 / IE 9 选项以在客户端包含 Internet 区域的本地目录路径(惹恼用户)。

在此处输入图像描述

于 2012-07-09T21:47:27.047 回答