gpt4 book ai didi

php - 允许用户上传任何文件。我的方法不安全吗?

转载 作者:可可西里 更新时间:2023-10-31 23:50:07 24 4
gpt4 key购买 nike

我正在创建一个文件共享站点,类似于 Megaupload 或 Rapidshare。就像提到的那些网站一样,我需要允许任何文件类型。

我正在考虑一个解决方案,需要知道它是否存在任何安全风险,或者是否有更好的解决方案来解决我的问题?

  1. 用户上传文件
  2. 检查文件大小,如果低于 100mb 则开始上传
  3. 使用IP、时间戳和盐加密文件名
  4. 存储在无法从网络访问的目录中
  5. 在数据库中存储文件名、描述和散列文件名

上传完成。现在下载:

  1. 用户请求下载
  2. 连接数据库,定位文件ID
  3. 如果找到文件 ID,从文件服务器位置复制文件并准备文件传输

重要的是要注意任何东西都不能在服务器上运行。因此用户无法上传恶意文件并对服务器发起攻击。请求文件时,它将立即启动下载,并且永远不会运行。

现在,考虑到上述情况,上述模型中是否存在任何可能允许恶意用户攻击服务器的缺陷?

为了回答问题,假设站点的其余部分是安全的。

最佳答案

这听起来不错,当然前提是要正确实现; IMO 唯一缺少的步骤是检查 3. 和 4. 之间可能存在的文件名冲突,和/或使用完全随机的文件名。毕竟,IP 地址和时间戳在这种情况下并不是真正相关的信息。

在下载方面,应该不需要复制服务器上的文件。从 secret 位置流式传输它应该就足够了,因为它永远不会被最终用户看到或访问。

关于php - 允许用户上传任何文件。我的方法不安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7672168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com