我正在阅读有关PHP的安全性内容,我现在最关心的是用户文件上传表单。我已经阅读了很多,一些用户可以通过更改扩展名甚至操纵标题和mimetype来上传看起来像其他东西的文件。我理解这一点。
但我的问题是,如果我重命名任何上传的文件并将其移动到他们不知道的目录,这将是一个什么问题。
请告诉我这是否足够,如果没有,请给我一些标题,说明我应该执行哪些额外的安全检查
非常感谢
答案 0 :(得分:0)
这实际上取决于您的在线应用程序要实现的目标。如果您希望直接限制对上载文件的访问,则应设置上载区域的父文件夹的文件夹权限以阻止用户访问。然后在您的数据库中,您可以记录到路径,只通过http响应托管文件。这将确保不会访问可能有害的文件,并且用户仍然可以上传他们的感受。作为额外步骤,您可以在托管时为每个文件添加错误的文件扩展名,然后在提供文件时将其删除。
答案 1 :(得分:0)
您可以在后台运行防病毒扫描守护程序,例如avscand,已配置。用于扫描并将受感染的文件移动到隔离目录。这应该防止以后将受感染的文件传回给人们。配置自动病毒库更新。有点回来,我做了这些事情,所以调查。
将文件名简单重命名为具有安全字符的文件名就足够了;当然,每个用户分开。
答案 2 :(得分:0)
要拥有更安全的网站,需要执行以下操作:
upload_max_filesize
设置为合理的upload_tmp_dir
设置为合理的,用户可能无法访问。请参阅Setting PHP tmp dir - PHP upload not working file
命令以获取数据类型而不执行它