我的Windows机器上有WAMP服务器(刚刚开始研究服务器而不是我不熟悉所有这些)。
我想知道的是如何授予Apache访问文件夹的权限,但用户不应该能够访问该文件夹。
我有一个包含图像的文件夹,如果他们知道我服务器的文件系统和目录的结构,任何人都可以查看。因此,我希望我的.html和.php页面可以访问此文件夹,但不能直接在浏览器中输入文件夹/图像的URL。
我意识到这可能是不可能的,但必须有一些替代我正在努力实现的目标。我对这一切都很陌生,所以我想知道我是否会采用这种错误方式,无论我是在正确的轨道上,还是只需要在httpd.conf文件中编辑我的权限。 / p>
答案 0 :(得分:1)
不幸的是,这是不可能的。浏览器在您的网站中引用图片时加载图片的方式与用户直接输入相同网址时加载图片的方式没有什么不同。所以你得到两者或两者都没有。
您可以做的是:禁用索引,因此只输入没有图像名称的目录名会导致“禁止访问”错误。为此,将它放在Apache配置中的任何位置:
<Directory c:/path/to/your/directory>
Options -Indexes
</Directory>
(你可能不得不在Windows上使用反斜杠,不确定。有一段时间没有在Windows上做任何Apache配置。有人可以帮我吗?)
您可以做的另一件事是编写一个PHP(或使用任何其他服务器端语言)脚本来读取这些图像并将它们填充到浏览器中。这样,您可以检查浏览器发送的引用者并对其做出反应。但我不建议这样做,因为它会产生比它解决的更多麻烦,因此我不会为你提供一个现成的脚本。