move_uploaded_file( $_FILES["images"]["tmp_name"][$key], "img/" . $_FILES['images']['name'][$key])
上面的代码显示我的图像的新位置是
"img/" . $_FILES['images']['name'][$key]).
我如何将它存储在一个变量中,以便我可以在 mysql 数据库中传递这个位置以检索图像。
因为name
值中设置的文件名是基于用户提供的文件名,并且因为您没有对内容或名称进行任何明显的清理,所以用户可以上传一个可由 apache 执行的文件并为其命名,如:
../../../wickedevilnaughtyfile
并将它放在主机系统的根目录或它不属于的类似讨厌的地方,并且可以从 Web 浏览器执行,因为 http 服务器(apache 或 whatevs)自从它创建文件以来就可以访问它。
这不是一个实际的答案,但正如评论中所要求的,安全威胁有时需要超过 600 个字符来解释
顺便说一句,如果我在这个有点简洁的解释中遗漏了任何内容或出现了一些错误,请随时在答案中编辑并签名。