2014-03-13 27 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連接。請注意,未經身份驗證的用戶將無法看到它,因此您可以爲安全圖像創建子文件夾並確保安全。

相關問題