【发布时间】:2013-10-31 13:57:07
【问题描述】:
我在我的网站上使用文件上传,我不明白为什么有些上传无法通过网络浏览器访问,我只能通过 FTP 客户端查看。
我的 php 函数如下所示:
move_uploaded_file($fileTmpLoc, 'uploads/'.date('ymdGis').'-'.substr(str_shuffle(md5(time())),0,4).'-'.str_replace(' ', '-', $fileName))
上传文件时
屏幕截图 2013-10-22 上午 7.14.00.png
结果链接是
/uploads/131022172126-08cd-Screen-Shot-2013-10-22-at-7.13.18-AM.png
是文件的长度还是其他原因导致某些文件无法通过网络浏览器访问。
【问题讨论】:
-
“不可访问”是什么意思,尝试访问它们时会出现什么错误?
-
你可能会在这里找到一些有用的东西:stackoverflow.com/questions/2668854/…
-
可能是句号……我过去遇到的其他东西都是大写字母。有很多禁止使用的字符要避免......问号/斜杠等。不过,它似乎在服务器类型之间有所不同。
-
这里有几个问题。首先,MD5 上的
str_shuffle,因为某种“更随机”的机制是荒谬的,请不要那样做。其次,如果我提供的文件名是../../evil.php怎么办?我在你的盒子上执行远程 PHP 代码。哎呀!
标签: php url web-hosting