gpt4 book ai didi

asp.net - 将虚拟目录映射到 App_Data 中的子文件夹以提供图像是否安全?

转载 作者:行者123 更新时间:2023-12-04 06:19:43 28 4
gpt4 key购买 nike

我在 IIS7 下运行 mvc3 应用程序。

一般公众可以通过文件上传控件上传图像,该控件会调整图像大小,然后将它们写入 App_Data 文件夹的子文件夹中。

在页面上显示上传的图像时,我无法直接从 App_Data 子文件夹提供这些图像,因为出于安全原因,IIS7 将其限制为 protected 文件夹。

如果我将一个虚拟目录映射到 App_Data 子文件夹,我可以提供存储在那里的图像,但这提出了一个问题 - 这会带来安全风险吗?

据我了解,只要在虚拟目录上设置了正确的权限,就应该没问题。

这样对吗?还是我忽略了其他事情?

最佳答案

From what i understand, as long as the correct permissions are set on the virtual directory, then it should be ok.



没错。如果您确保只有授权用户才能访问此虚拟目录,那么您的文件就非常安全。

但是为了避免创建另一个虚拟目录的所有麻烦,您可以创建一个 Controller 操作,该操作将直接从该文件夹中提供文件:
// You could specify Roles instead of Users if you wish
[Authorize(Users = "john, jane")]
public ActionResult AppDataFile(string filename)
{
var file = Path.Combine(Server.MapPath("~/app_data"), filename);
if (!System.IO.File.Exists(file))
{
return HttpNotFound();
}
return File(file, "application/octet-stream", Path.GetFileName(file));
}

然后当您以 jane 身份验证时你可以 /appdatafile?filename=foo.barApp_Data 下载 foo.bar 文件文件夹。

关于asp.net - 将虚拟目录映射到 App_Data 中的子文件夹以提供图像是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6736208/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com