【发布时间】:2018-11-06 16:50:24
【问题描述】:
所以我构建了一个表单,让用户可以将文件(在扩展白名单中)上传到根目录下的另一个目录下的随机命名目录。出于技术原因,随机名称现在被写在 html 页面中,但仅在页面存在时才在代码中可见。如果用户刷新页面,名称就会改变。只有随机目录名本身可见,而不是 itpath 中的整个上传。
data-name="<?php echo uniqidReal(); ?>" // outputs like 'd91806dbde743568'
然后 php 使用该名称来创建将保存文件的目录,例如 https://www.acme.com/mydir/d91806dbde743568/file.mp3。然后,整个 url 将被发送一次给表单的接收者。
'mydir' 的内容在-Indexes 下,所以任何人都无法猜测其中随机命名的目录的名称。
现在我的问题是:这足以避免安全问题吗?例如,是否可以上传一个包含一些恶意代码的屏蔽文件,该恶意代码一旦上传就可以读取目录并将其发回信息或执行其他操作?
我应该以其他方式加强安全级别吗?
【问题讨论】:
-
为什么需要在上传前创建目录?
-
避免文件冲突。
标签: php security file-upload filesystems