0
 move_uploaded_file( $_FILES["images"]["tmp_name"][$key], "img/" . $_FILES['images']['name'][$key])

上面的代码显示我的图像的新位置是

"img/" . $_FILES['images']['name'][$key]).

我如何将它存储在一个变量中,以便我可以在 mysql 数据库中传递这个位置以检索图像。

4

1 回答 1

0

因为name值中设置的文件名是基于用户提供的文件名,并且因为您没有对内容或名称进行任何明显的清理,所以用户可以上传一个可由 apache 执行的文件并为其命名,如:

../../../wickedevilnaughtyfile并将它放在主机系统的根目录或它不属于的类似讨厌的地方,并且可以从 Web 浏览器执行,因为 http 服务器(apache 或 whatevs)自从它创建文件以来就可以访问它。

这不是一个实际的答案,但正如评论中所要求的,安全威胁有时需要超过 600 个字符来解释

顺便说一句,如果我在这个有点简洁的解释中遗漏了任何内容或出现了一些错误,请随时在答案中编辑并签名。

于 2013-08-06T20:01:07.047 回答