直接用日期格式化上传存在路径的危险

作者:vkvi 来源:ITPOW(原创) 日期:2011-5-4

我们想将上传的文件放在 upload 文件夹的,以当前年命名的文件夹下的,以当前月命名的文件夹下。于是我们使用了下面的代码来生存文件夹路径:

其实以上代码是非常错误的:

首先 upload 中的 d 会被格式化为当前日。

其次是 /,我们本想当作文件夹的路径分隔符,但这里其实是日期分隔符替换符。如果系统中(控制面板中设置的,可用 System.Globalization.DateTimeFormatInfo.CurrentInfo.DateSeparator 获取)规定的日期分隔符是“/”,那倒不会看出问题,替换后仍为“/”;如果系统中规定的日期分隔符是“-”,那替换后就成了“-”,就不是路径分隔符了。(类似 : 是时间分隔替换符)。

相关文章