【问题标题】:Does using readfile to allow users to download images from my server without seeing the image's URL put strain on the server?使用 readfile 允许用户从我的服务器下载图像而不会看到图像的 URL 会给服务器带来压力吗?
【发布时间】:2014-02-21 21:32:39
【问题描述】:

我正在构建一个 iOS 应用程序,它允许用户将照片上传到我服务器上的上传文件夹并将它们发送给他们的朋友。现在,我将上传文件夹的权限设置为 773(World 的 write、execute 是打开的,但 read 不是)。这允许用户将应用中的照片成功上传到此文件夹中,并且还允许他们稍后查看它们,前提是他们具有该特定文件夹的直接 URL(他们这样做是因为应用会处理该文件夹)。

我担心有人进入上传文件夹并能够查看/下载其中的每张照片。

所以我的第一个直觉是创建一个 PHP 页面,该页面使用 readfile 转储用户要求的任何照片的内容(一旦我确认确实是拍摄/上传照片的用户或他们的朋友试图查看它)。

但是,我想,这不会给服务器带来额外的压力吗?

简而言之,我想问的是,在我的服务器上使用照片的 URL 直接下载照片是否比读取文件转储更有效。

【问题讨论】:

  • 是的,服务器直接访问文件而不是通过 PHP 文件传递​​文件效率更高。假设一张图片发送给 1000 位朋友,PHP 文件需要读取该文件 1000 次,如果它是直接 URL,Apache 会将该文件缓存在内存中,并且图片将更有效地传递。
  • 是的,我认为它会是这样的。好的,谢谢。

标签: php ios mobile permissions


【解决方案1】:

如果您的 php 脚本正在上传图片,您的文件夹权限应该只允许访问 PHP 正在运行的用户,而不是 World。

如果照片是低风险的,您可以将文件名随机化,并将名称提供给允许查看它们的用户。在阻止浏览的文件夹中使用索引页。

如果照片风险较高,请阻止对文件夹的 Web 访问,并将文件内容作为流从 php.ini 发送。通过 php 脚本读取它们需要少量开销,但不会对服务器资源造成太大影响。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-01
    • 2012-09-22
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多