绕过路径遍历过滤器

Pou*_*abi 5 asp.net security filter

在我的Web应用程序中,我删除这些字符:

(<,>,:,",/,\,|,?,*)

从我的文件下载网址,以防止路径遍历.

有没有办法绕过这个?

它安全吗?

Sil*_*Fox 6

请查看以下指南: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" />