2013-10-21 45 views
4

在我的web應用程序,我刪除這些字符:迂迴路徑遍歷器

(<,>,?,」,/,\,|,*)

從我的文件

下載網址,以避免路徑遍歷。

是否有任何方式來繞過這個?

是否安全?

+0

您是否有下載URL的示例 - 查詢字符串中的文件名是?例如www.example.com/download.aspx?filename=foo.pdf – SilverlightFox

回答

4

請查看以下指南:http://msdn.microsoft.com/en-us/library/ff647397.aspx但您的問題的相關部分在下方突出顯示。

如果您必須接受文件名作爲輸入,請使用System.IO.Path.GetFileName來使用該文件的全名。

此外,如果您想進一步確保您的網站:

使用代碼訪問安全性來限制文件I/O 管理員可以限制應用程序的I文件由/ O到自己的虛擬目錄層次結構配置應用程序以使用中等信任度運行。在這種情況下,.NET代碼訪問安全性確保在應用程序的虛擬目錄層次結構之外不允許文件訪問。

通過在Web.config或Machine.config中設置元素,可以將應用程序配置爲以中等信任度運行。 <trust level="Medium" />

+0

比我的回答更好,+1 –