我安装了一台Apache服务器并且正在玩它。我无法弄清楚的是如何正确设置此设置的权限:
我不希望我的文件可以从外部访问(即./files/file1.foo
) - 这个目录中有很多文件,我不希望人们能够阅读它们。到现在为止还挺好。在我的情况下,chmod o+r
能够阅读,反之亦然。
然后我有一个PHP脚本来处理与每个用户的会话,他们拥有其中一个文件并且应该能够查看它,但只能查看它,而不是其他文件。假设文件是图片。我会写<?php ... echo "<img src=\"files/file5.foo\"> ?>
来显示这个文件。但这不起作用,因为PHP也没有文件的权限。
处理此问题的方法是什么?
答案 0 :(得分:2)
对于这些要求,最佳解决方案是将受保护的文件存储在公共HTML之外,并使用PHP脚本来提供它们。然后,PHP可以检查是否允许当前用户访问所请求的文件。
看看this example。对于内嵌图像,请不要设置文件传输标题,只输出内容(您仍然可以输出内容类型标题,但不需要)。