构建X-Sendfile头发件人以查看“隐藏”文件

时间:2012-04-17 15:12:48

标签: php nginx x-sendfile

今天我遇到了一个问题,说我应该隐藏一些公众文件。实际上这些是一些“特定于用户”的文件,因此除了所有者之外的其他人不应该看到它们。

如果还有其他选项,我不想用 fread 或类似的东西读取文件,所以我做了一些关于这个问题的研究,并在其他线程上找到了apache的X-Sendfile mod在这里。

我需要它几乎。除了一件事。 这些文件是用htaccess隐藏的,它们对于“world”是不可见的,我可以在认证后用X-Sendfile头提供它们。

但是如果有人创建了一个php脚本,那与我的相同之处是什么?用户可能记住文件的URL。这些文件可供他们使用。那太糟糕了......

您是否知道我可以做些什么来阻止他人而不是所有者在没有权限的情况下访问他们的文件?我首先需要一个nginx的解决方案。

文件位于没有PHP的服务器上,它只是一个静态文件服务器。

将文件移动到其他目录将无法正常工作,这会让您感到更加痛苦。

谢谢

更新 好像我错过了下载的文件是0Kb或类似的东西,因为我无法再次做到这一点。

1 个答案:

答案 0 :(得分:3)

  

但是如果有人创建了一个php脚本会和我一样做什么呢?

为什么让用户上传任意代码?

  

用户可能会记住文件的网址。

除了使用X-Sendfile的脚本外,用户永远不会看到网址。

  

您是否知道我可以做些什么来阻止他人而不是所有者在没有权限的情况下访问他们的文件?

在使用X-Sendfile的脚本中验证其身份验证。