0

我在我的 Windows 机器上安装了 WAMP 服务器(刚开始研究服务器等等,所以我对这一切都很陌生)。

我想知道的是如何授予 Apache 访问文件夹的权限,但用户不应该能够访问该文件夹。

我有一个包含图像的文件夹,如果他们知道我的服务器文件系统和目录的结构,任何人都可以查看。因此,我想做的是这个文件夹应该可以被我的 .html 和 .php 页面访问,但不能被直接在浏览器中输入文件夹/图像的 URL 的用户访问。

我意识到这可能是不可能的,但必须有一些替代我想要实现的目标。我对这一切都很陌生,所以我想知道我是否走错了路,我是否走在正确的轨道上,或者我是否只需要在 httpd.conf 文件中编辑我的权限。

4

1 回答 1

1

不幸的是,这是不可能的。浏览器在您的网站中引用图像时加载图像的方式与用户直接输入相同 URL 时加载图像的方式没有什么不同。所以你要么得到要么没有。


您可以做的是:禁用索引,因此仅输入目录名称而不输入图像名称会导致“访问禁止”错误。为此,请将其放在 Apache 配置中的任何位置:

<Directory c:/path/to/your/directory>
    Options -Indexes
</Directory>

(您可能必须在 Windows 上使用反斜杠,不确定。有一段时间没有在 Windows 上进行任何 Apache 配置。有人可以帮我吗?)


您可以做的另一件事是编写一个 PHP(或使用任何其他服务器端语言)脚本来读取这些图像并将它们粘贴到浏览器。这样,您可以检查浏览器发送的引荐来源网址并对其做出反应。但我不建议这样做,因为它产生的麻烦比解决的问题多,因此我不会为此提供现成的脚本。

于 2013-11-07T04:47:27.557 回答