Php 上传到随机命名的目录,是否足够(安全方面)?

Php 上传到随机命名的目录,是否足够(安全方面)?,php,security,file-upload,filesystems,Php,Security,File Upload,Filesystems,因此,我构建了一个表单,允许用户将文件(在扩展名白名单中)上传到根目录中另一个目录下的随机命名目录。由于技术原因,随机名称现在写在html页面中,但只有在页面存在时才在代码中可见。如果用户刷新页面,名称将更改。只有随机目录名称本身可见,而不是itpath中的整个上载 data-name="<?php echo uniqidReal(); ?>" // outputs like 'd91806dbde743568' data name=”“//类似于“d91806dbde743568

因此,我构建了一个表单,允许用户将文件(在扩展名白名单中)上传到根目录中另一个目录下的随机命名目录。由于技术原因,随机名称现在写在html页面中,但只有在页面存在时才在代码中可见。如果用户刷新页面,名称将更改。只有随机目录名称本身可见,而不是itpath中的整个上载

data-name="<?php echo uniqidReal(); ?>" // outputs like 'd91806dbde743568'
data name=”“//类似于“d91806dbde743568”的输出
然后php使用该名称创建将保存文件的目录,类似于
https://www.acme.com/mydir/d91806dbde743568/file.mp3
。然后,整个url将发送一次给表单的接收者

“mydir”的内容在
-索引下,因此任何人都无法猜测其中随机命名的dir的名称

现在我的问题是:这足以避免安全问题吗?例如,是否可以上传一个屏蔽文件,其中包含一些恶意代码,一旦上传就可以读取dir并将其发回信息,或者执行其他操作


我是否应该以其他方式增强安全级别?

这不是最好的方法,因为文件夹的名称可以包含..等字符/


在我看来,最好在服务器上创建一个随机文件夹,而不接收来自用户的数据

Mmm,但在我的例子中,名称不是基于用户的输入。它是由一个特定函数生成的,该函数使用
随机_字节的组合
+
微时间
用户可以更改此字段mmm,如何更改?这不是一个字段。在Chrome开发工具中。是的,它的属性。好的。不,它不是一个字段,数据应用于一个div,但是是的,您可以通过控制台更改它,我没有考虑过,好的观点。为什么您需要在上载之前创建目录?以避免文件冲突。