2

我需要验证传递的文件路径,然后才能将其写入磁盘并为其创建新的目录结构。例如,我们有$path = "/uploads/base/../../user_new_dir/img.jpg". 这是不正确的路径,因为"/.." ("/uploads/base"- 允许保存目录,"/user_new_dir/img.jpg"- 用户定义的路径和文件名)。

我不能使用realpath($path),因为它仅适用于现有文件。我不能使用realpath(dirname($path)),因为我们可能会创建新文件夹来保存文件。

我寻找脚本,它检查所有可能的情况。我担心我会错过诸如'.'字符的多字节表示或其他意外方式之类的东西,这可能会导致安全问题。您能否建议在任何框架或 cms 中适当地实施我的任务,以便我进行调查?

4

1 回答 1

2

看看这个:https ://stackoverflow.com/a/4050444/108544

该函数对路径字符串进行操作,如果目标路径实际上不存在于文件系统上,它也应该可以工作。

于 2013-01-13T04:02:47.320 回答