-1

我安装了一个 Apache 服务器并正在使用它。我不知道如何正确设置此设置的权限:

我不希望我的文件可以从外部访问(即./files/file1.foo)——这个目录中有很多文件,我不希望人们能够阅读它们。到目前为止,一切都很好。chmod o+r就我而言,可以阅读,反之亦然。

然后我有一个 PHP 脚本来处理与每个用户的会话,每个用户拥有一个文件并且应该能够查看它,但只有它,而不是其他文件。假设文件是​​一张图片。我会写信<?php ... echo "<img src=\"files/file5.foo\"> ?>来显示这个文件。但这不起作用,因为 PHP 也没有对该文件的权限。

有什么办法来处理这个?

4

1 回答 1

2

对于这些要求,最好的解决方案是将受保护的文件存储在公共 HTML 之外,并使用 PHP 脚本来提供它们。然后 PHP 可以检查是否应该允许当前用户访问请求的文件。

看看这个例子。对于内联图像,不要设置文件传输标头,只需输出内容(您仍然可以输出内容类型标头,但这不是必需的)。

于 2013-06-05T16:30:02.353 回答