在 ASP 中,获取上传文件名称需要注意“/”与“\”。
如果在上传文件框中输入以上内容,上传的实际文件就是 D:\dir1\file.txt。
但取得的文件名是 D:\dir1\dir2\../file.txt,如果按“\”来作文件分隔,那么不带路径的文件名为“../file.txt”,如果直接按该文件名保存,由于“../”的问题,就会将文件保存于不期望的地方。解决办法是判断“/”与“\”谁在最后。
在 ASP.NET 中上传文件非常方便,但上述问题依然存在。
为什么呢,因为 ASP.NET 服务器端并未对文件名作处理。而文件名是客户端提交上来的,也就是说这受客户端的限制,如果客户端是 Firefox,则取得的是不带路径的文件名,不存在此安全问题。
订阅千一,精彩随你。
给文章打分,表达您的观点。
版权所有 © 2005 - 2012 千一网络
渝ICP备05010272号 联系我们 进入 AjaxLoading