2014-03-13 28 views
1

假如我在做这样的事情:是否有可能获得ASP.NET上附件的原始映射?

Response.ContentType = "image/jpeg"; 
Response.AppendHeader("Content-Disposition", "attachment; filename=test.jpg"); 
Response.TransmitFile(Server.MapPath("~/images/original.jpg")); 
Response.End(); 

任何用户或黑客可以得到“original.jpg”地方文件的?

如果是,如何?

回答

1

它不应该是因为TransmitFile方法所做的实际上是将文件内容写入输出流;在客户端上,浏览器不知道响应来自哪里,除了它有一个可以下载的文件。我不相信有什么办法可以得到原始文件夹。

虽然你应该始终确保您的文件夹,通过做这样的事情,以确保用户通过应用程序认证:

<location path="images"> 
    <system.web> 
    <authorization> 
     <deny user="?" /> 
     <allow user="*" /> 
    </authorization> 
    </system.web> 
</location> 

这种方式,只有通过验证的用户可能可能直接将图像文件夹通过URL连接。请注意,未经身份验证的用户将无法看到它,因此您可以为安全图像创建子文件夹并确保安全。

相关问题